HOWTO · Bash

Bash ですべての引数を渡す

このチュートリアルでは、Bash ですべての引数を渡す方法について説明します。

このページの内容

Bash スクリプトでは、主に構文 $1 $2 $3 ... $N を使用して関数内で変数を渡します。 ここで、N1, 2, 3, ... のような負でない整数です。

しかし、すべての引数を渡すという同じタスクを実行するショートカットの方法があります。 この記事では、関数ですべての引数を渡す方法について説明します。

また、トピックを理解しやすくするために、必要な例と説明を示します。

Bash ですべての引数を渡す

この目的のために、$@ を使用してすべての引数を渡します。 以下のコード例を見てみましょう。

My_Friends () {
echo "Your friend's names are: "$@""
}

My_Friends Alen Walker John

上記の例では、My_Friends という名前の関数に 3つのパラメーターを渡しました。 $@ を使用して関数内のすべての関数を受け取りました。

上記の例を実行すると、以下のような出力が得られます。

Your friend's names are: Alen Walker John

同じタスクを実行する従来の方法は、次のようになります。

My_Friends () {
echo "Your friend's names are: $1 $2 $3"
}

My_Friends Alen Walker John

上記のコードでは、すべてのパラメーターを手動で含めました。 これにより、前の例と同じ出力も得られます。

すべての引数を個別に処理する必要がある場合、それらを手動で含める方法はないことに注意してください。 たとえば、以下の例のように、渡されたすべての引数を使用して追加操作を実行する場合、このショートカット メソッドに従うことはできません。

以下の例を確認してみましょう。

Add () {
echo The sum is: $(( $1+$2+$3 ))
}

Add 1 2 3

説明したように、最近共有された例では、すべてのパラメーターを個別に言及する必要があります。 上記のプログラムのこの出力は、次のようなものです。

The sum is: 6

この記事で使用するコードはすべて Bash で記述されています。 Linux シェル環境でのみ動作します。