Shell 脚本的意外输出
Unexpected Output of Shell Script
我在浏览旧教程时发现了一个 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
语句。
我在浏览旧教程时发现了一个 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
语句。