如果条件在Shell脚本中引发错误则为倍数

时间:2018-11-01 18:08:27

标签: bash shell

我在shell脚本中使用以下条件

   if [! -z "$failedTC"] || [-n "$failedTC"];
   then
   echo "ITS not empaty AND NOT NULL"
   else
   echo "ITS empty or NULL"
   fi

我正在检查$ failedTC的上述代码不应为null和空。但是如果条件在詹金斯中抛出以下错误消息。我在jenkins的Execute Shell窗口中使用了以上脚本。

  

/tmp/jenkins371454092166709762.sh:第23行:[!:找不到命令   /tmp/jenkins371454092166709762.sh:第23行:[-n:找不到命令

任何线索。...

3 个答案:

答案 0 :(得分:4)

您需要在条件中的左括号和右括号之前添加一个空格:

更改

if [! -z "$failedTC"] || [-n "$failedTC"];

if [ ! -z "$failedTC" ] || [ -n "$failedTC" ];

答案 1 :(得分:2)

错误是,它需要在每个方括号space前后放置一个[]

尝试一下:

if [ ! -z "$failedTC" ] || [ -n "$failedTC" ];
   then
   echo "ITS not empaty AND NOT NULL"
   else
   echo "ITS empty or NULL"
fi

答案 2 :(得分:2)

“ [”和“]”是命令,应该用空格“ [”包裹。这是最佳做法。试试这个

.[1:][].run.command