2015-08-19 131 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