首页 > 解决方案 > shell 脚本 - 参数过多

问题描述

我不确定是什么导致了这个错误。脚本继续运行并毫无问题地进入“if”语句。

“./test.sh:第 79 行:[:参数太多”

if [ grep -Fq "variable=00000000000" /home/me/test.txt ] ; then             #line 79
             ........
             ........
else
             echo "hi"
fi

标签: shellif-statement

解决方案


只需使用:

if grep -Fq "variable=00000000000" /home/me/test.txt; then
[...]

或者

grep -Fq "variable=00000000000" /home/me/test.txt && echo 'true'

解释

每个命令都有一个返回码,您可以使用以下命令显示:

true
echo $? # return 0, true in bash
false
echo $? # return 1: false in bash

它被命名为布尔逻辑


推荐阅读