Bana bu kadar sert davranma, okuldan bu yana ilk bash giriþimim (9 sene önce).Bash: Bir döngü için bir değişkene joker karakteri birleþtirin
Uzaktan yerel git reposlarını rsync olacak bir komut dosyası oluşturmaya çalışıyorum.
Yerel dizini bir değişkendeyken saklamak istiyorum çünkü bunu birkaç kez kullanıyorum ancak for döngüsünde kullandığım joker karakteriyle nasıl yapılacağını bulamıyorum. "/ * /" Ve gerçekten anlamadığım ancak başka hiçbir şeyin işe yaramadığı bazı diğer şeyleri birleştirmeye çalıştım. Yardımlarınız için
#!/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
Teşekkür:
İşte benim senaryom.
Ayrıca, döngü içinde kullandığınız "$ dir" 'de yazmalısınız. – tripleee