スクリプトを書きたいのですが、実行中は次のようになります -
./script.sh -o1 option1 -o2 -o3 option3 ...
出力は次のようになります-
option1
option3
どうすれば達成できますか?
スイッチ (「-o1」など) が必要ない場合は、簡単な解決策があります。コマンド ライン オプションは、「$1」、「$2」などの名前の変数に表示されます。
me@computer:~> ./script.sh option1 option2 option3
option1
option2
option3
script.sh:
#! /bin/sh
echo $1
echo $2
echo $3
これは役立つはずです:シェルスクリプトでのコマンドラインオプションの解析
bash getopts ビルトインを確認してください。例(リンクされたチュートリアルから)
while getopts ":a" opt; do
case $opt in
a)
echo "-a was triggered!" >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done