使用if / fi构造在bash shell脚本中有条件地运行命令

时间:2014-08-05 14:54:49

标签: bash shell unix command-line

如果变量A大于零,我试图运行以下命令。在所有这些之前设置A.

  

pybot --rerunfailed $ HUDSON_HOME / jobs / $ JOB_NAME / builds / $ PAST_BUILD / robot-plugin / output.xml

如果此变量A不大于零,则运行以下命令

  

pybot --suite" $ TEST_SUITE" --test" $ TEST_CASE" --exclude $ TAGS_TO_EXCLUDE

如何使用if / then / else / fi构造进行此操作?

1 个答案:

答案 0 :(得分:0)

您可以使用算术评估程序if/else/fiBASH中使用此((...))代码段:

if (( A > 0)); then
   pybot --rerunfailed "$HUDSON_HOME/jobs/$JOB_NAME/builds/$PAST_BUILD/robot-plugin/output.xml"
else
   pybot --suite "$TEST_SUITE" --test "$TEST_CASE" --exclude "$TAGS_TO_EXCLUDE"
fi

PS:最好在引号中引用所有BASH变量,以避免由于意外的shell扩展或变量中存在空格/换行而导致的问题。