如何检查bash脚本中特定目录中是否存在文件?

时间:2015-04-28 18:18:42

标签: linux bash file scripting terminal

这是我一直在尝试的,但是没有成功。如果我想检查〜/ .example目录中是否存在文件

FILE=$1
if [ -e $FILE ~/.example ]; then
      echo "File exists"
else
      echo "File does not exist"
fi

3 个答案:

答案 0 :(得分:5)

您可以使用$FILE与目录连接以生成完整路径,如下所示。

FILE="$1"
if [ -e ~/.myexample/"$FILE" ]; then
    echo "File exists"
else
    echo "File does not exist"
fi

答案 1 :(得分:1)

这应该做:

FILE=$1
if [[ -e ~/.example/$FILE && ! -L ~/example/$FILE ]]; then
      echo "File exists and not a symbolic link"
else
      echo "File does not exist"
fi

它将告诉您$FILE目录中是否存在忽略符号链接的.example

你也可以使用这个:

[[ -e ~/.example/$FILE && ! -L ~/example/$FILE ]] && echo "Exists" || echo "Doesn't Exist"

答案 2 :(得分:1)

在这里晚了聚会,但是一个简单的解决方案是使用-f

if [[ ! -f $FILE]]
then
  echo "File does not exist"
fi

如果您有好奇心,请再举几个例子here