运行我的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
[...]
为什么呢?
答案 0 :(得分:2)
[
和]
字符是Bash中的实际命令,而不仅仅是分隔符。它们需要它们之间的空格和任何其他命令之类的变量。此外,您需要使用字符串比较器而不是数字比较器。改变这个:
if [ "$i" -eq "ciao"]
到此:
if [ "$i" == "ciao" ]
为了好玩,请尝试运行man [
。 [
字符在括号内的表达式上运行test
命令。