変数に引用符付きの文字列を含むパラメータの準備

変数に引用符付きの文字列を含むパラメータの準備

Bashスクリプトは、いくつかの場所で次のプログラムを呼び出します。

numfmt --suffix=" B" --grouping 231210893

数値は毎回異なりますが、他のパラメータは同じままです。

これで、さまざまなパラメータをさまざまな呼び出しから移動して、中央で定義し、簡単に変更できるようにします。私の試みは次のとおりです

NUMFMT='--suffix=" B" --grouping'
...
numfmt $NUMFMT 231210893

残念ながら、これは機能しません。引用符はある時点で削除され、numfmt説明できない追加の引数について文句を言いますB。私は定義と使用法の両方で異なる引用を使用して他の多くのバージョンを試しましたが、NUMFMT役に立ちませんでした。

これを正しく行うにはどうすればよいですか?あまり複雑ではない場合、私のバージョンは機能しませんが、他のバージョンが機能する理由も知りたいです。

答え1

配列を試してください。

NUMFMT=( --suffix=" B"   '--grouping' )
....
numfmt "${NUMFMT[@]}" 231210893

答え2

これは良いケースではありませんかalias

$ alias nfmtB='numfmt --suffix=" B" --grouping'
$ nfmtB 324235345656
324.235.345.656 B

関連情報