![bash if 语句遇到麻烦 [Error==Error]: not found](https://linux22.com/image/58687/bash%20if%20%E8%AF%AD%E5%8F%A5%E9%81%87%E5%88%B0%E9%BA%BB%E7%83%A6%20%5BError%3D%3DError%5D%3A%20not%20found%20.png)
每次我运行脚本时,以下 if 语句都会给出错误;
script.sh: [Error==Error]: not found
或者
script.sh: [Error==-2]: not found
if ["$P1"=="$P2"];then
echo $name
fi
我尝试过其他版本
if ["$P1"=="$P2"]
then
echo $name
fi
和
if [[ "$P1" == "$P2" ]]
then
echo $name
fi
P1="Error"
P2="$(sed -n '1p' somefile.txt)"
somefile.txt
可能包含数字或字符串
答案1
空格很重要。使用:
if [ "$P1" = "$P2" ]
什么地方出了错
当 shell 看到 时["$P1"=="$P2"]
,它将其解释为单个单词并查找与该单词匹配的命令。由于不存在这样的命令,因此您会收到not found
错误消息。