我想写if如下: –
if [$x == "string"]
then
echo "ok"
fi
但出现以下错误
./bash_if.sh[6]: [0: not found.
[后面需要一个空格,因为[实际上是一个命令( /usr/bin/[在Linux上,尽pipebash有一个它使用的内置版本)。 如果没有空格,bash会将$ x转换为值,然后尝试运行命令[0 ,就像input了lssomedir或echohi 。
另外,如果你正在testingstring,你应该把引号放在$ x:
if [ "$x" == "string" ]
否则,如果$ x为空或未设置,则会因为没有引号而在“展开”$ x之后出现错误
if [ == "string" ]