关于Shell脚本if 报错:[: too many arguments

Posted 萧蔷ink

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Shell脚本if 报错:[: too many arguments相关的知识,希望对你有一定的参考价值。

写了一个if 条件判断,就单纯的想判断变量空或者非空的时候做一些事情。

但是执行以后当为非空的时候一直报出这个错误-->line 6: [: too many arguments

起初我以为,我语句表达写错,但是研究了半天,并没有语法错误。

if [ ! $res ];  then

于是乎查询了一番,发现该结论:

环境变量如果没放在双引号中, bash会 认为方括号中的自变量过多。可以用双引号将字符串自变量括起来消除该问题。请记住,如果养成将所有字符串自变量用双引号括起的习惯,将除去很多类似的编程错误。

又get到一个坑点,??,重要的事情说三遍!!!

变量加双引号

变量加双引号

变量加双引号

if [ ! "$res" ];  then

以上是关于关于Shell脚本if 报错:[: too many arguments的主要内容,如果未能解决你的问题,请参考以下文章

关于Shell脚本中出现如下 报错[: too many arguments

shell脚本获取时间戳偶尔报错value too great for base

shell脚本中oldIFS=$IFS

Shell脚本中有关数据进制的问题(value too great for base (error token is "08"))

Shell #监控进程脚本

shell脚本执行报错[: 0: unary operator expected