输入中带参数参数的shell脚本出错

时间:2014-04-14 13:43:44

标签: bash shell unix sh

运行我的shell脚本(/ bin / sh),如

./test.sh wf1 wf2 wf3

产生以下错误:

[: missing `]'

这是我的代码:

[...]
string="HELLO"

for i in "$@" ;do
        if [ "$i" -eq "ciao"]; then
                echo "$stringa" > $i
        fi
done
[...]

为什么呢?

1 个答案:

答案 0 :(得分:2)

[]字符是Bash中的实际命令,而不仅仅是分隔符。它们需要它们之间的空格和任何其他命令之类的变量。此外,您需要使用字符串比较器而不是数字比较器。改变这个:

if [ "$i" -eq "ciao"]

到此:

if [ "$i" == "ciao" ]

为了好玩,请尝试运行man [[字符在括号内的表达式上运行test命令。