我写了一个脚本樱桃选择从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
可以是任何输入。
我觉得我几乎在那里虽然完全在这一点上难倒。
我会试试这个。谢谢。 –