Bashシェルスクリプトでは、$ 2がコマンドラインの複数の引数と同じになることはありますか?それとも3ドル、4ドルなどの費用はかかりますか?

Bashシェルスクリプトでは、$ 2がコマンドラインの複数の引数と同じになることはありますか?それとも3ドル、4ドルなどの費用はかかりますか?

以下のスクリプト例では、スクリプトを使用するプロセスに応じて1つまたは2つのEメールアドレスに送信するために使用されます。追加のメールアドレスを購入するには3ドルを追加する必要がありますか、それとも2ドルで十分ですか?

(
for file in /usr/app/tst/$1/MS_CASE_ST*.csv;
do
   uuencode ${file} $(basename ${file})
done
) | mailx -s "MS_CASE_ST*.csv file contains data. Please Research" $2 

example.sh スクリプトの実行方法の例:

$ ./example.sh output [email protected] [email protected]

ベストアンサー1

$2常に2番目の引数のみが使用されます。 $@はすべてのパラメータの配列なので、2番目のパラメータを最後まで望む場合は、次のようにできます。

... | mailx -s "MS_CASE_ST*.csv file contains data.  Please research" "${@:2}"

オフセット:2を指定しますパラメータ拡張$@配列を拡張するとき

おすすめ記事