关于Shell脚本中的"[: too many arguments"错误

引用变量时最好加上双引号,例如:
a="a b c"
if [ $a = "a b c" ];then
  echo "yes"
fi
运行此脚本就会报错
应更改为:
a="a b c"
if [ "$a" = "a b c" ];then
  echo "yes"
fi
这时因为不加双引号脚本会被变量中的空格迷惑,所以不管变量中是否有空格, 良好的习惯是在引用变量时都应该加上双引号

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29822273/viewspace-2139131/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29822273/viewspace-2139131/

你可能感兴趣的:(shell)