Не будьте твердыми на меня, это моя первая попытка шока со школы (например, 9 лет назад).Bash: привязать шаблон к переменной в петле цикла
Я пытаюсь создать скрипт, который будет локально удален локальным репозиторией rsync.
Я хочу сохранить свой локальный каталог в переменную, потому что я использую его несколько раз, но не могу найти, как это сделать с помощью шаблона, который я использую в цикле for.
Я попытался соединить «/ * /» и некоторые другие вещи, которые я действительно не понял, но ничего не сработало.
Вот мой сценарий:
#!/bin/bash
if [ "$#" -lt 1 ]; then
echo "Usage :"
echo "syncDown <repo1> <repo2> ..."
echo "syncDown --all"
exit 1;
fi
LOCAL_PATH="/Volumes/Case Sensitive/repos"
# Sync all local repos
if [ $1 = "--all" ]; then
# for dir in "$LOCAL_PATH/*/";do <-- What I tried
for dir in /Volumes/Case\ Sensitive/repos/*/;do # <-- What works
folder=$(echo $dir | rev | cut -d'/' -f2 | rev);
rsync -avzh --delete-after devweb:$folder --exclude ".git" --exclude ".idea" "$LOCAL_PATH"
done
# Sync specific repos
else
for repo in "[email protected]"; do
rsync -avzh --delete-after devweb:$repo --exclude ".git" --exclude ".idea" "$LOCAL_PATH"
done
fi
Спасибо за вашу помощь.
Вы также должны указать '' $ dir '', где вы используете его внутри цикла. – tripleee