1
假設我有一個腳本,需要兩個參數,有沒有辦法來檢查,如果有一個參數或2+爭論說形式:參數入住慶典
if [ check if arguments don't equal 2 ]; then
echo Too many arguments
exit 1
fi
假設我有一個腳本,需要兩個參數,有沒有辦法來檢查,如果有一個參數或2+爭論說形式:參數入住慶典
if [ check if arguments don't equal 2 ]; then
echo Too many arguments
exit 1
fi
if [ $# -ne 2 ]; then
# Number of arguments was not 2
fi
變量$#
持有傳遞參數的數量。
如果這是專門針對'bash'(而不是任何POSIX兼容的shell),更可讀的替代方案是'if(($#!= 2)); then'。 – chepner
您是否已經嘗試過「man bash」?你從手冊頁中看不到什麼? – atk
如果他們被告知'參數過多',那麼調用腳本時無參數的人會感到驚訝。如果你期望有兩個參數,那麼這個消息可能應該是'echo'的用法:使用:從$ 0到$>&2,標識命令(通過'$ 0')和正確的用法,並將信息發送到標準錯誤所以它不會在管道中丟失)。我的大多數腳本都使用'$(basename $ 0 .sh)'來標識正在運行的命令。 –