Sha*_*off 4 bash shell loops while-loop
我正在使用bash,我正在尝试做这样的事情:
A=1
while [ $A=1 ]; do
read line
echo $line | grep test >/dev/null
A=$?
echo $A
done
Run Code Online (Sandbox Code Playgroud)
即使grep成功完成并且A设置为0,此脚本也永远不会结束.我在这里缺少什么?以下是输出示例.
$ ./test.sh
Run Code Online (Sandbox Code Playgroud)
asdf
1
Run Code Online (Sandbox Code Playgroud)
test
0
Run Code Online (Sandbox Code Playgroud)
hm...
1
Run Code Online (Sandbox Code Playgroud)
您需要使用正确的比较运算符.Bash有不同的运算符用于整数和字符串比较.
此外,您需要在比较表达式中使用正确的间距.
你需要
while [ $A -eq 1 ]; do
Run Code Online (Sandbox Code Playgroud)
请看这里了解更多
我发现Bash的语法非常糟糕 - 你尝试过类似的东西:
虽然[$ A -eq 1] ......?
它可能会尝试重新分配1到$ A或类似的东西.