能够检查指定路径(./filename后跟文件路径)是否是目录的最佳方法是什么?理想情况下,我也希望打印目录中存在的文件列表。感谢。
答案 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
测试路径是否存在而不测试它是什么类型的文件。