我正在 BASH 中进行验证
if [ !( ( -e $f ) || ($# -lt 2) || ( -d $f ) ) ]; then
exit 0
fi
我试图查看该文件是否存在,或者它是否是一个目录,或者是否通过终端传递了足够的参数。我可以这样做还是必须以其他方式完成?
最佳答案
我从你的问题中得知你想要拒绝任何不是普通文件的内容。在这种情况下,如果使用 -f 而不是 -e,则对目录的测试是多余的。
if [[ ! -f "$f" || $# -lt 2 ]]; then
exit 0
fi
顺便说一句,如果这是一个错误退出,您应该以 0 以外的其他值退出 - 在大多数情况下 0 表示成功;导出 1 会更好。
关于linux - 验证 bash 中的一些参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15644849/