我想测试传递给Linux shell脚本的参数数量。如果参数的数量不是2
或4
,它应该打印一些东西。不幸的是它不起作用。任何人都可以解释我做错了什么?bash脚本中的参数数量
#!/bin/bash
if [[ $# -ne 2 ]] || [[ $# -ne 4 ]];
then
echo "here";
fi
我想测试传递给Linux shell脚本的参数数量。如果参数的数量不是2
或4
,它应该打印一些东西。不幸的是它不起作用。任何人都可以解释我做错了什么?bash脚本中的参数数量
#!/bin/bash
if [[ $# -ne 2 ]] || [[ $# -ne 4 ]];
then
echo "here";
fi
此时应更换逻辑OR
通过逻辑AND
,所以:
#!/bin/bash
if [[ $# -ne 2 && $# -ne 4 ]]; then
echo "here"
fi
在算术形式:
#!/bin/bash
if (($# != 2 && $# != 4)); then
echo "here"
fi
正如你所看到的,没有必要使用2 [[ ]]
可能重复[检查参数bash脚本的数量](http:// stackoverfl ow.com/questions/18568706/checking-number-of-arguments-bash-script) – Maximin 2014-12-06 18:42:22