-1

スクリプトを書きたいのですが、実行中は次のようになります -

./script.sh -o1 option1 -o2 -o3 option3 ...

出力は次のようになります-

option1
option3

どうすれば達成できますか?

4

3 に答える 3

1

スイッチ (「-o1」など) が必要ない場合は、簡単な解決策があります。コマンド ライン オプションは、「$1」、「$2」などの名前の変数に表示されます。

me@computer:~> ./script.sh option1 option2 option3
option1
option2
option3

script.sh:

#! /bin/sh
echo $1
echo $2
echo $3
于 2012-12-06T10:28:34.017 に答える
0

これは役立つはずです:シェルスクリプトでのコマンドラインオプションの解析

于 2012-12-06T10:24:47.303 に答える
0

bash getopts ビルトインを確認してください。例(リンクされたチュートリアルから)

while getopts ":a" opt; do
  case $opt in
    a)
      echo "-a was triggered!" >&2
      ;;
    \?)
      echo "Invalid option: -$OPTARG" >&2
      ;;
  esac
done
于 2012-12-06T10:22:59.613 に答える