在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