如何检查文件是否是目录

时间:2014-08-10 03:03:20

标签: bash

能够检查指定路径(./filename后跟文件路径)是否是目录的最佳方法是什么?理想情况下,我也希望打印目录中存在的文件列表。感谢。

1 个答案:

答案 0 :(得分:2)

来自Check if passed argument is file or directory in BASH

以下脚本应该可以解决问题。

#!/bin/bash

PASSED=$1
if [[ -d $PASSED ]]; then
    echo "$PASSED is a directory"
elif [[ -f $PASSED ]]; then
    echo "$PASSED is a file"
else
    echo "$PASSED is not valid"
    exit 1
fi

双方括号是[ ]的bash扩展名。它不需要引用变量,即使它们包含空格也是如此。

还值得尝试:-e测试路径是否存在而不测试它是什么类型的文件。