我想查看一個文件夾是否存在。在腳本文件中如果我使用:在shell腳本中使用存在命令的路徑變量
#!/bin/bash
batch_folder=~/Desktop/
if [ -d $batch_folder ]
then
echo "Dir exists."
else
echo "Dir doesn't exists."
fi
我得到的結果是相應的回聲。但是當我用read
命令提示輸入路徑時,即使確實存在,每次都會發現該目錄不存在。這是我的腳本:
#!/bin/bash
read -e -p "Batch folder location: " batch_folder
if [ -d $batch_folder ]
then
echo "Dir exists."
else
echo "Dir doesn't exists."
fi
我也試過在if
聲明可變"$batch_folder"
,${batch_folder}
,"${batch_folder}"
但這些作品的使用。
我知道問題出在如何read
命令保存的變量,因爲在我的第一個例子,如果我設置batch_folder='~/Desktop/'
我得到了相同的結果與read
命令。
或者使用'[[]]'代替,則變量不需要被引用。 – cdarke