コマンドライン引数をbashスクリプト配列に変換するにはどうすればよいですか?コマンドライン引数をBashの配列に変換する
私はこの取りたい:
./something.sh arg1 arg2 arg3
を、私はスクリプト内のさらなる使用のためmyarrayのを使用できるように
myArray=(arg1 arg2 arg3)
に変換します。
この前のSO投稿は近づくが、配列を作成する方法には触れません:How do I parse command line arguments in Bash?
私は通常のbashスクリプト配列に引数を変換する必要があります。私は他の言語(Pythonなど)を使うことができるが、これをbashで行う必要があることを理解している。私は "追加"機能または類似のものを探していると思いますか?
UPDATE:私もゼロの引数をチェックして、デフォルトの配列の値を割り当てる方法をお聞きしたかった、と以下の答えのおかげで、この作業を取得することができました:
if [ "$#" -eq 0 ]; then
myArray=(defaultarg1 defaultarg2)
else
myArray=("[email protected]")
fi
ありがとうございます!よく働く!ゼロ引数をチェックし、デフォルトの配列値を代入する方法を尋ねるところでしたが、$#は完全に機能します! – Suman
@kojiroセットの意味は何である - 、おかげで – mailzyok
'set'は、スコープの位置パラメータを設定することができます。シェルオプションを設定することもできます。 'set foo'を実行することができます。これは' $ 1'が '' foo ''に展開されることを意味しますが、あなたのパラメータがダッシュで始まるなら '' set''はシェルオプションを設定することを意味します。二重ダッシュは、次のすべてのパラメーターが設定される位置パラメーターとして解釈されるようにします。 – kojiro