`

Shell - too many arguments

阅读更多
【基本介绍】
在编写shell脚本的时候会经常遇到“line 2: [: too many arguments”类似的错误,特别是在if判断语句中。

【简单案例】
[root@bogon script]# cat bb.sh 
tmp="grep Accept /root/test.log | grep -v something" 
if [ $tmp ]
then
 echo "aa"
else
 echo "bb"
fi
[root@bogon script]# bash bb.sh 
bb.sh: line 2: [: too many arguments
bb


解决方案:在if判断的变量尽可能的添加双引号
[root@bogon script]# cat bb.sh 
tmp="grep Accept /root/test.log | grep -v something" 
if [ "$tmp" ]
then
 echo "aa"
else
 echo "bb"
fi
[root@bogon script]# bash bb.sh 
aa


【参考】
http://fengyonghui.iteye.com/blog/568541
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics