这个问题已经有了答案:
Why should there be a space after '[' and before ']' in Bash?
4答
我对shell编程语言还很陌生。为什么在打印“找不到文件或目录”后,下面的代码会回显false?

#!/bin/sh -xu
ARG_PATH="/srv/path/to/Something"

if ["$ARG_PATH" = "/srv/path/to/Something"]
then
   echo "true!"
else
   echo "false!"
fi

我试过用sh和bash运行代码,但没有真正改变任何东西。

最佳答案

检查路径是否正确?除了Bash对空间敏感之外,您的语法似乎没有问题,请在space之后和[之前指定]

ARG_PATH="/srv/path/to/Something"

if [ $ARG_PATH = "/srv/path/to/Something" ]
then
        echo $? #display 0 if both r same
fi

关于linux - 字符串比较在Shell中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47851914/

10-15 16:07