if语句中的bash变量扩展
检查是否存在应解析为〜/ code/devtools/deploy-mix的目录。if语句中的bash变量扩展
这个if语句没有通过 - 虽然我可以cd ~/code/devtools/deploy-mix
。
sh -x script
'[' -D '$ HOME /代码/ devtools /部署混合' ']'
我想:PLZ使用bash语法:)
GIT_DIR="$HOME/code"
if [ -d "${GIT_DIR}/devtools/deploy-mix" ]; then
echo "found $GIT_DIR/devtools/deploy-mix"
fi
输出帮助如果你决定叫我一个noob(有时编码角度不坐在你的肩膀上),我很乐意给出这个因特网的一些因特网业力。或删除引号。
用$HOME
替换~
或删除引号。
例子:
GIT_DIR="$HOME/code"
GIT_DIR=~/'code'
可能值得更清楚*哪些*引号要删除。 'GIT_DIR ='〜/ code'引号是坏的; '[-d“$ {GIT_DIR}”]'引号是很好的。 –
GIT_DIR =“$ HOME/code” if [-d“$ {GIT_DIR}/devtools/deploy-mix”];然后 \t回声 “发现$ GIT_DIR/devtools /部署混” 音响 SH -x '[' -D '$ HOME /代码/ devtools /部署混音' ']' – Manchego
无关用'if'可言。运行'test -d“$ GIT_DIR”你会遇到完全相同的问题; echo $?'。 –