Shell脚本的意外输出

吉加尔

我正在阅读旧的教程,发现了一个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

我不明白输出的第一行。如果有人可以阐明正在发生的事情,我将不胜感激。

菲尔科列夫

if预期的测试,像这样:[ $a -eq $b ][[ $a -eq $b ]]

您的示例扩展为:if 10 -eq 20此时bash查找一个10显然不存在的名为的程序,因此出现错误消息。

缺少的程序显然会评估为false导致执行该else语句的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章