2011-11-03 76 views

回答

24

使用$#特殊變量。它的值是參數的數量。所以,如果你有一個腳本,只包含:

echo $# 

並執行這樣的:

thatscript foo bar baz quux 

它會打印4.

在你的情況,你可能要像做:

if [ $# -ne 2 ]; then 
    # TODO: print usage 
    exit 1 
fi 
15

按照從參數應該包含「至少2件事」的問題的要求出發,我認爲它可能是更準確的檢查:

if (($# < 2)); then 
    # TODO: print usage 
    exit 1 
fi 

使用arithmetic expansion(())將防止這種打擊exit 1不等於2

任何值如果您使用if [ $# -ne 2 ];會觸發條件爲任意數量的非2的參數。

相關問題