bash脚本中的参数个数

我想testing传递给Linux shell脚本的参数的数量。 如果参数的数目不是24 ,它应该打印一些东西。 不幸的是,这是行不通的。 任何人都可以解释我做错了什么?

 #!/bin/bash if [[ $# -ne 2 ]] || [[ $# -ne 4 ]]; then echo "here"; fi 

你应该用逻辑AND来替换逻辑OR ,所以:

 #!/bin/bash if [[ $# -ne 2 && $# -ne 4 ]]; then echo "here" fi 

算术形式:

 #!/bin/bash if (($# != 2 && $# != 4)); then echo "here" fi 

正如你所看到的,不需要使用2 [[ ]]

逻辑。

 if [[ $# -ne 2 ]] && [[ $# -ne 4 ]]; then echo "here" fi