我寫了一個腳本櫻桃選擇從Gerrit所有打開的更改。我找到了一種可行的方法,但我需要能夠更改輸入,以便我沒有爲每個具有特定回購庫信息硬編碼的回購腳本提供腳本。Bash腳本幫助「如果(用戶輸入)=然後(var)=」
#! /bin/sh
REMOTE="${1-review}"
ssh -p 29418 [email protected] gerrit query --format=text --patch-sets status:open branch:XXX project:XXX | grep revision: | awk '{print $2;}' | while read ID
do
git fetch "${REMOTE}" && git cherry-pick "${ID}"
done
現在我已經能夠成功地挑開的變化,但我想使它這樣我可以通過輸入更改用戶名,分公司,項目和遙控器。使用當前的方法,我需要手動輸入我的用戶名,項目,分支和遠程腳本。那麼它只對那個特定的回購有好處。
我一直在使用if
/then
聲明發生問題。我知道,現在看來,我所要求的任何東西都是編碼的,但我想爲某人提供一個工作模型。
我確實更改了用戶名和特定的詳細信息,很容易讓某人自己使用此腳本通過插入必要的信息進行櫻桃挑選。
如果我做這樣的事情:
PROJECT="$1"
if [ "$1" = "XX" ]; then
"$PROJECT="project:name of project"
然後bash返回XX command not found
。我不想讓它成爲我希望它被輸入以後插入到ssh命令中的命令。此外,我試圖不僅使用if
而且還else if
,以便PROJECT
可以是任何輸入。
我覺得我幾乎在那裏雖然完全在這一點上難倒。
我會試試這個。謝謝。 –