Bash非null /非零检查多个字符串变量

时间:2016-11-24 09:25:55

标签: bash

我正在尝试检查是否设置了多个命令行参数。例如

if [-n "$1"] && [-n "$2"] && [-n "$3"]; then
   do something
else
   do something else
fi

但我一直在

  

bash:[ - n:命令未找到

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

大括号之间需要空格,即

if [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ]; then

您也可以使用extended test command ([[...]])作为

if [[ -n "$1" && -n "$2" && -n "$3" ]]; then