【发布时间】:2010-01-15 16:28:17
【问题描述】:
#!/bin/bash -x
echo "Enter file name: "
read fileName
fileName=`pwd`"/$fileName"
if [ -f $fileName ]; then
echo "file is present"
fi
即使我通过在开头和结尾添加引号来更改文件名的值.. 脚本仍然不起作用。
【问题讨论】:
-
使用:
fileName=$(pwd)/"$fileName"甚至fileName="$PWD/$fileName";那么您只需要担心用户输入 /dev/null 而不是相对于当前目录的名称(也可能是用户输入 ../../../../../../etc /密码)。最后一点:middleCapitals 在 shell 脚本中看起来很奇怪。 -
ya.. 最好使用环境变量。 :)