为什么这个代码不会运行? 它意味着允许用户在循环中向脚本输入一个数字,直到用户输入-1然后脚本应该终止 但是我一直收到这个错误:
-ne: unexpected operator
以下是代码:
#!/bin/sh
condition= 0
while [ $condition -ne -1 ]
do
echo $condition
read condition
done
答案 0 :(得分:2)
您必须删除condition=
和0
后的空格。由于空格是bash的自然标记分隔符,因此在放置空格时必须非常小心。在这种情况下,空格分隔假定程序(0
)的初始化变量列表(在本例中为空值)。
答案 1 :(得分:2)
=之后的空格。删除它。
答案 2 :(得分:2)
好吧,很多人已经给了你答案,不过,如果你需要的话,只要看一下这个答案(只是另一种方式,更加冗长)。
#!/bin/sh
while read condition; do
case "$condition" in
-1) printf "GOOD BYE!\n"; break ;;
*) printf "AGAIN, PUT A NUMBER!" ;;
esac
done
答案 3 :(得分:-1)
在结束括号后添加分号;
。