这个问题在这里已有答案:
我是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
在括号周围放置空格,如果不这样,shell会认为["$ARG_PATH"
是命令,应该是[
。
因此正确的测试是if [ "$ARG_PATH" = "/srv/path/to/Something" ]