bash脚本中的参数数量

时间:2014-12-06 18:36:48

标签: linux bash shell command-line-arguments

我想测试传递给Linux shell脚本的参数数量。如果参数的数量不是24,则应该打印一些内容。不幸的是它不起作用。谁能解释我做错了什么?

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

2 个答案:

答案 0 :(得分:3)

您应该按逻辑OR替换逻辑AND,因此:

#!/bin/bash

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

以算术形式:

#!/bin/bash

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

如您所见,无需使用2 [[ ]]

答案 1 :(得分:1)

逻辑。

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