1
これは私のことを大変なことではありません。これは学校からの私の最初のbash試行(9年前のような)です。Bash:forループ内の変数にワイルドカードを連結します。
私はrsyncリモートgit reposをローカルに作成するスクリプトを作成しようとしています。
ローカルディレクトリを変数に保存する必要がありますが、これは何度か使用していますが、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