2017-07-21 6 views
0

getoptsを使用して、シェルスクリプトにパラメータを渡しています。 たとえば、スクリプト内の2つのセクションで操作を行い、両方が同じ文字で始まるようにしたいとします。私は他の手紙を選びたくありません。たとえば、プロジェクト1とプロジェクト2という2つのプロジェクトがあり、どちらもpという文字で始まります。同じ開始アルファベットのgetoptsオプション

--project1などの完全な文字列を提供できる方法はありますか他の解決方法はありますか?

while getopts "project1 project2" opt; 
# This ofcourse would not work. So, whats the solution? 

getoptsの代替手段はありますか?

+0

可能な複製を(使用してスクリプトを呼び出しますhttps://stackoverflow.com/questions/402377/using- getopts-in-bash-shell-script-to-long-and-short-command-line-options) – yinnonsanders

答えて

0

options引数を使用できます。それは

while getopts p: flag 
do 
    case $flag in 
     p) OARG=$OPTARG;; 
    esac 
done 

echo $OARG 

getopts店舗OPTARGに渡されるオプションのようなものになるはずです。

あなたは[ロングとショートのコマンドラインオプションを取得するためにbashシェルスクリプト内でgetoptsはを使用する]の

./script.sh -p "project1" 
+0

project1とproject2は相互に排他的ではありません。時には同時に両方を実行する必要があるかもしれません。多分私の例project1とproject2が正しくないかもしれません。 – infoclogged

+0

その場合、おそらく 'getopt'(no s)を使いたいでしょう。 – yinnonsanders

関連する問題