我想測試傳遞給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