我想知道如何向命令添加參數。
我希望它有點像這樣:
$ arg --test
“arg”將是主命令,“--test”將是參數。
答案1
對於 和 之間的編號參數0
,9
其中x
是特定的編號參數,請使用以下表示法:
$x
對於上面的編號參數,其中x
是特定的編號參數,請使用以下表示法:
${x}
若要取得所有參數的列表,請使用以下命令:
${@}
或這個:
${*}
請注意,當用雙引號引起來時,${*}
會將所有以空格分隔的參數(通常,技術上它是變數的第一個字元$IFS
(內部字段分隔符號))擴展為一個字串。${@}
用雙引號括起來時會擴展為多個字串。
${@}
使用或時不需要括號${*}
。
答案2
這可能與已回答的問題重複。不過,請透過下面的非常基本的 shell 腳本找到一個可能的解決方案來滿足您的請求。
#!/bin/bash
for i in ${@} ; do
case ${i} in
--test) echo "test option found"
;;
*) echo "Usage: $0 [--test]"
exit 1
esac
done
echo "$0 finished."
如果您在命令列上使用此 shell 腳本的選項,您可能會學到更多。這可能會添加到第一個答案JL2210非常恰當。
注意該行echo "Usage: $0 [--test]"
旨在提供一些幫助訊息,並利用約定來指示方括號中的可選參數。
希望這可以幫助。