コマンドに引数を追加する方法を知りたいです。
こんな感じにしたいと思います:
$ arg --test
「arg」はメインコマンド、「--test」は引数になります。
答え1
0
から まで(9
はx
特定の番号付き引数)の番号付き引数については、次の表記法を使用します。
$x
x
上記の番号付き引数(特定の番号付き引数)の場合は、次の表記を使用します。
${x}
すべての引数のリストを表示するには、次のようにします。
${@}
あるいはこれ:
${*}
${*}
二重引用符で囲むと、スペースで区切られたすべての引数 (通常は、技術的には変数の最初の文字$IFS
(内部フィールド区切り文字)) が 1 つの文字列に展開されることに注意してください。${@}
二重引用符で囲むと、複数の文字列に展開されます。
${@}
または を使用する場合は括弧は必要ありません${*}
。
答え2
これは回答済みの質問と重複している可能性があります。ただし、以下に非常に基本的なシェル スクリプトとして、リクエストに対する可能な解決策を示します。
#!/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."
コマンドラインでこのシェルスクリプトのオプションをいろいろ試してみると、もっと何かわかるかもしれません。これは最初の回答に追加されるかもしれません。JL2210まさにその通りです。
注意: この行はecho "Usage: $0 [--test]"
ヘルプ メッセージを提供することを目的としており、オプションの引数を角括弧で示す規則を利用しています。
お役に立てれば。