Linux 验证bash中的某些参数
我正在用BASH进行验证Linux 验证bash中的某些参数,linux,bash,Linux,Bash,我正在用BASH进行验证 if [ !( ( -e $f ) || ($# -lt 2) || ( -d $f ) ) ]; then exit 0 fi 我试图查看文件是否存在,或者它是否是一个目录,或者是否有足够的参数通过终端传递。我可以这样做吗?还是必须用另一种方式来做?看起来您至少有一些问题 测试的语法需要更现代的双[[命令,而不是传统的单[命令 最后你缺少了一个fi。(我为你编辑了这个,多亏了修改它的人。) 你可能会感觉到你的测试被颠倒了,但我不确定。这取决于你的脚本的其余
if [ !( ( -e $f ) || ($# -lt 2) || ( -d $f ) ) ]; then
exit 0
fi
我试图查看文件是否存在,或者它是否是一个目录,或者是否有足够的参数通过终端传递。我可以这样做吗?还是必须用另一种方式来做?看起来您至少有一些问题
- 测试的语法需要更现代的双
命令,而不是传统的单[[
命令[
- 最后你缺少了一个
。(我为你编辑了这个,多亏了修改它的人。)fi
- 你可能会感觉到你的测试被颠倒了,但我不确定。这取决于你的脚本的其余部分是什么样子
if [[ ! -f "$f" || $# -lt 2 ]]; then
exit 0
fi
顺便说一句,如果这是一个错误退出,那么您应该使用0以外的内容退出—在大多数情况下,0表示成功;退出1会更好