`if`命令中的等式测试返回错误消息"没有这样的文件或目录"

Kei*_*ane 1 bash shell if-statement

我正在写一个shell脚本,我正在做

if ["$item0" == "$item1"]
then
echo match
fi
Run Code Online (Sandbox Code Playgroud)

但它在运行时会在行上给出错误消息"没有这样的文件或目录".如果有帮助,上面的项目确实包含文件路径.

sam*_*hen 6

您需要注意变量和括号之间的空格,它们很重要.如果then是在同一行if,你需要一个;

更正语法:

if [ "$item0" == "$item1" ]; then
    echo match
fi
Run Code Online (Sandbox Code Playgroud)

PS如果match应该是一个变量,请确保它是echo "$match"

  • 对于那些追求的人来说,这是因为`[`是一个名为`[`的程序.Sh需要程序名称周围的空格,这会导致此问题. (3认同)
  • 同样的事情只是我的格式,我想我已经修复了。括号周围的空格是问题所在,我欠你一杯啤酒。 (2认同)