任何想法這段代碼有什麼問題?嘗試mkdir時Shell變量問題
CLIENT_BUILD_DIR="~/Desktop/TempDir/"
if [ ! -d $CLIENT_BUILD_DIR ]
then
{
mkdir $CLIENT_BUILD_DIR
}
fi
我得到的錯誤:mkdir:〜/ Desktop:沒有這樣的文件或目錄。
顯然,目錄是存在的,如果我替換變量的腳本作品〜/桌面/ TEMPDIR/
任何想法這段代碼有什麼問題?嘗試mkdir時Shell變量問題
CLIENT_BUILD_DIR="~/Desktop/TempDir/"
if [ ! -d $CLIENT_BUILD_DIR ]
then
{
mkdir $CLIENT_BUILD_DIR
}
fi
我得到的錯誤:mkdir:〜/ Desktop:沒有這樣的文件或目錄。
顯然,目錄是存在的,如果我替換變量的腳本作品〜/桌面/ TEMPDIR/
引號阻止了〜的擴展。
用途:
CLIENT_BUILD_DIR=~/Desktop/TempDir/
if [ ! -d "$CLIENT_BUILD_DIR" ]
then mkdir "$CLIENT_BUILD_DIR"
fi
這樣做!非常感謝 –
你也可以''評估它:) – Jite
的~
字符不是在一個變量使用時重新詮釋。
您可以改爲使用CLIENT_BUILD_DIR="$HOME/Desktop/TempDir/"
。
剛剛節省了我的時間和很多的牆頭敲! – Moseleyi
爲什麼不乾脆:
mkdir -p "$CLIENT_BUILD_DIR"
注-p
。
偉大的提示!謝謝! –
還有一點,您可以將代碼簡化爲'[-d $ CLIENT_BUILD_DIR] || mkdir $ CLIENT_BUILD_DIR',最好加上||回聲「試圖創建目錄錯誤:$ CLIENT_BUILD_DIR」:) :) – Jite