${deleteOldBranchRemote}
没有错误执行时,如何修改此脚本以有条件地执行${getRename}
?
Now_hourly=$(date +%d%b%H%M)
#echo "$Now_hourly"
newrcName="rc$Now_hourly"
#rename rc to the new name
getRename="git branch -m $newrcName"
#Delete the old-name remote branch
deleteOldBranchRemote="git push origin --delete rc"
${getRename}
#if getRename has error then do not execute the following line
#if [ $noErrorSomehowIneedToCheckForErrors ]
#then
${deleteOldBranchRemote}
#fi
您可以这样写:
if git branch -m $newrcName; then
git push origin --delete rc
fi
因此,仅当第一个命令以退出代码0(表示成功)结束时才执行第二个命令。
您可以通过运行来获取有关if关键字的更多信息help if
。我的系统的输出示例(Bash 4.3.46(1)-发行版):
if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
Execute commands based on conditional.
The `if COMMANDS' list is executed. If its exit status is zero, then the
`then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list is
executed in turn, and if its exit status is zero, the corresponding
`then COMMANDS' list is executed and the if command completes. Otherwise,
the `else COMMANDS' list is executed, if present. The exit status of the
entire construct is the exit status of the last command executed, or zero
if no condition tested true.
Exit Status:
Returns the status of the last command executed.
如果您想知道错误代码,可以从$?读取它。Bash将最后执行的命令的退出代码存储在此变量中。您可以将其存储在变量中以供以后使用:
git branch -m $newrcName
BRANCH_EXIT_CODE=$?
echo "git branch -m $newrcName exit code was $BRANCH_EXIT_CODE"
# $? now contains the exit code of the preceding echo
if [ $BRANCH_EXIT_CODE -eq 0 ]; then
git push origin --delete rc
fi
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句