我寫了一個腳本來簡化Android源的同步和構建。我嘗試添加一個功能來挑選修補程序,但我無法正常工作。我知道這是因爲前斜線,但我不知道如何保護/逃避它們。代碼在變量中使用正斜槓
部分是:
echo "Copy/paste the project folder, i.e. 'frameworks/base'"
read folder
echo ""
echo "Now paste the cherry-pick git link, i.e. 'git fetch <someproject> refs/changes/... && git cherry-pick FETCH_HEAD'"
read cherry
echo ""
Begin
clear
echo ""
export IFS="&&"
for x in $cherry
do
cd ${CM}/${folder}
CHERRY=$(trim "$x")
$CHERRY
done
讓我們說, '櫻桃' 變量是:
git fetch http://r.cyanogenmod.com/CyanogenMod/android_frameworks_base refs/changes/68/22968/2 && git cherry-pick FETCH_HEAD
我會得到這個錯誤:
/home/tristan202/bin/build_cm.sh: line 159: git fetch http://r.cyanogenmod.com/CyanogenMod/android_frameworks_base refs/changes/91/23491/2: No such file or directory
/home/tristan202/bin/build_cm.sh: line 159: git cherry-pick FETCH_HEAD: command not found
我想不通爲什麼它失敗了。
它調用的'trim'函數是一個修剪前後空格的函數。如果我在for循環中回顯「$ CHERRY」,則命令打印正確,但仍然失敗。
所以我需要做的是寫從格里特分裂了git的命令幾行代碼,以便它在將其分解&&。這足夠嗎? – tristan202