bash:if语句具有多个检查

bash:if语句具有多个检查,bash,shell,scripting,Bash,Shell,Scripting,在我的bash脚本中,我需要检查第一个CLI是否已定义,第二个CLI是否为现有文件 以下是我所拥有的: if [!$2] && [! -f $1 ]; then .... fi 所以$2应该存在(字符串),而$1应该是文件系统上的现有文件! 有什么建议吗?如果你所说的建议是指我需要做什么才能让它工作,那么你需要做的就是在括号周围加上空格。此外,最好引用以下变量: if [ -n "$2" ] && [ ! -f "$1" ]; then ... f

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

以下是我所拥有的:

if [!$2] && [! -f $1 ]; then
    ....
fi
所以$2应该存在(字符串),而$1应该是文件系统上的现有文件!
有什么建议吗?

如果你所说的建议是指我需要做什么才能让它工作,那么你需要做的就是在括号周围加上空格。此外,最好引用以下变量:

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

-n字符串

字符串的长度不为零


如果你所说的“建议”是指我需要做什么才能让它工作,那么你需要做的就是在括号周围加上空格。此外,最好引用以下变量:

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

-n字符串

字符串的长度不为零


如果你所说的“建议”是指我需要做什么才能让它工作,那么你需要做的就是在括号周围加上空格。此外,最好引用以下变量:

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

-n字符串

字符串的长度不为零


如果你所说的“建议”是指我需要做什么才能让它工作,那么你需要做的就是在括号周围加上空格。此外,最好引用以下变量:

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

-n字符串

字符串的长度不为零


是的,在括号周围添加空格使其工作-->
if[!-f“$1”]
Yes,在括号周围添加空格使其工作-->
if[!-f“$1”]
Yes,在括号周围添加空格使其工作-->
if[!-f“$1”]
Yes,在括号周围添加空格使其工作-->
if[!-f“$1”]