我对shell编程语言很陌生。为什么以下代码在打印"文件或目录未找到后回显为假。"?
#!/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运行代码,并没有真正改变任何东西。
答案 0 :(得分:2)
检查路径是否正确?您的语法似乎没问题,除了Bash
是空间敏感的,在space
之后和[
之前提供]
ARG_PATH="/srv/path/to/Something"
if [ $ARG_PATH = "/srv/path/to/Something" ]
then
echo $? #display 0 if both r same
fi
答案 1 :(得分:1)
在括号周围放置空格,如果不这样,shell会认为["$ARG_PATH"
是[
时的命令。
正确的测试是if [ "$ARG_PATH" = "/srv/path/to/Something" ]