Shell脚本的意外输出

时间:2016-03-04 20:33:28

标签: linux shell sh

我正在阅读旧教程,我发现了一个shell脚本:

a=10
b=20
if  $a -eq $b 
then
   echo "a is equal to b"
else
   echo "a is not equal to b"
fi

当我将此shell脚本存储为test.sh并执行它时。它给我低于输出

test.sh: 3: test.sh: 10: not found
a is not equal to b

我不明白输出的第一行。如果有人能够了解正在发生的事情,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

[ $a -eq $b ]需要进行测试,例如:[[ $a -eq $b ]]if 10 -eq 20

您的示例展开到:10,此时bash会查找名为false的程序,该程序显然不存在,因此出现错误消息。

缺少的程序显然评估为else,导致执行const mWeight = model && !pToolCat === 3 ? null : model && pToolCat === 3 && !pToolItems.length ? null : model && pToolCat === 3 && pToolItems.length ? pToolWeight() : null; 语句。