bash:if语句有多个检查

时间:2014-03-05 10:50:59

标签: bash shell scripting

在我的bash脚本中,我需要检查第一个CLI是否已定义,第二个CLI是否为现有文件

这就是我所拥有的:

if [!$2] && [! -f $1 ]; then
    ....
fi

所以$ 2应该存在(字符串),$ 1应该是文件系统上的现有文件! 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果通过建议你的意思我需要什么才能让它工作,那么你需要做的是在括号周围添加空格。引用变量也很好:

if [ -n "$2" ] && [ ! -f "$1" ]; then
   ...
fi

来自man test

  

-n STRING

     

STRING的长度非零