2015-08-19 134 views
0

检查是否存在应解析为〜/ 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(有时编码角度不坐在你的肩膀上),我很乐意给出这个因特网的一些因特网业力。或删除引号。

+0

无关用'if'可言。运行'test -d“$ GIT_DIR”你会遇到完全相同的问题; echo $?'。 –

回答

1

$HOME替换~或删除引号。

例子:

GIT_DIR="$HOME/code" 
GIT_DIR=~/'code' 
+0

可能值得更清楚*哪些*引号要删除。 'GIT_DIR ='〜/ code'引号是坏的; '[-d“$ {GIT_DIR}”]'引号是很好的。 –

+0

GIT_DIR =“$ HOME/code” if [-d“$ {GIT_DIR}/devtools/deploy-mix”];然后 \t回声 “发现$ GIT_DIR/devtools /部署混” 音响 SH -x '[' -D '$ HOME /代码/ devtools /部署混音' ']' – Manchego