我还没有发现处理这种特定情况的方法。或许有一种简单的方法我忽略了,而不是检查一个字符串以抓住这种情况。当我检查输入文件是否存在时,如果输入是
我的测试脚本
~/filecheck
,那么这个方法就行不通了。即使文件在我的主文件夹中,我也会得到负面结果。如果对脚本的任何部分进行改进的建议,我一定会非常感激。我还必须使用输入而不是参数。感谢您的任何帮助。我的测试脚本
read -p "Enter: " input
echo $input
if [ -f $input ]; then
read -p "Do you REALLY want to delete this file?:" input2
if [[ $input2='y' || $input2 = 'Y' ]]
then
rm -f $input
elif [[ $input2='n' || $input2='N' ]]
then
exit
else
echo "Invaild Option"
exit
fi
else
echo Invaild Option!
exit
fi
input
扩展为~/filecheck
,因此[ -f $input ]
将检查当前目录中的~
目录中是否存在名为filecheck
的文件。你还期望什么?看起来你并不真正理解~
扩展发生的时机。就像$HOME/filecheck
会给你相同类型的结果一样。 - gniourf_gniourf