我想用bash编写脚本(我开始用bash编程),但我有错误,我尝试了一切,但我仍然不知道如何修复它.
#!/bin/bash
cap=0
cat|while read line
do
read a
if[$a -gt $cap]
then echo "MORE"
fi
done
Run Code Online (Sandbox Code Playgroud)
这是简单的脚本,但我是bash的新手,请有人帮助我;)
语法错误在这里:
if[$a -gt $cap]
Run Code Online (Sandbox Code Playgroud)
你需要空格和引号(对于带有空格或空值的内容是安全的):
if [ "$a" -gt "$cap" ]
Run Code Online (Sandbox Code Playgroud)
更好的方法是使用[[测试机制,即语法(而不是[命令),并且不需要双引号来保证安全:
if [[ $a -gt $cap ]]
Run Code Online (Sandbox Code Playgroud)
比这更好的是使用数学上下文,它允许您使用传统的数学运算符并自动解引用变量:
if (( a > cap )) ; then ...
fi
Run Code Online (Sandbox Code Playgroud)