在BASH腳本中,我試圖檢測文件是否存在。文件名在變量中,但-e命令似乎無法檢測到該文件。下面的代碼始終輸出「〜/其它/任務/ drupal_backup.sh不存在」Bash腳本-e未檢測到變量中的文件名
filename="~/misc/tasks/drupal_backup.sh"
if [ -e "$filename" ]; then
echo "$filename exists"
else
echo "$filename does not exist"
fi
在另一方面,下面的代碼檢測正確的文件:
if [ -e ~/misc/tasks/drupal_backup.sh ]; then
echo "$filename exists"
else
echo "$filename does not exist"
fi
爲什麼會變成這樣?當文件名位於變量中時,如何才能檢測文件?
我認爲'〜'是一個不應該在腳本中使用的命令行便利。 – 2010-06-28 03:20:14