如何检查文件是否存在

如何检查文件是否存在

如何使用 shell 脚本确定文件是否存在?

IE:

#!/bin/sh

if [ Does File Exist? ]
then
    do this thing
fi

答案1

您可能想要 /bin/bash,除非您需要使用 /bin/sh,/bin/sh 受到更多限制。因此,如果您使用 bash:

就像这样:

 if [[ -e filename ]]; then
    echo 'exists'
 fi

如果您的文件名在变量中,请使用以下内容,如果文件中有空格,则双引号很重要:

if [[ -e "$myFile" ]]; then
   echo 'exists'
fi

如果您使用 sh,并且希望与 IEEE Std 1003.1,2004 版兼容,则请改用单括号。 -e 开关仍受支持。

答案2

答案3

if [ -f filename ]

将测试常规文件是否存在。您还可以传递其他开关来检查文件是否可执行或文件的其他属性。

答案4

需要注意的是,如果您想要一些可以在所有 sh shell(不仅仅是 bash)和跨平台上运行的东西,唯一的方法是:

ls filename >/dev/null 2>&1
if [ $? = 0 ]; then
   echo "File exists"
fi

相关内容