Bashで変数をインクリメントするにはどうすればよいですか?

How Do I Increment Variable Bash



カウンターまたはイテレーターの値をインクリメントまたはデクリメントすることは、任意のプログラミング言語でループを使用する際の最も重要なタスクの1つです。そうすることで、ループが無限に実行されるループの終了条件に到達するのに役立ちます。今日は、Linux Mint20でBashの変数をインクリメントするさまざまな方法に焦点を当てます。

Linux Mint 20でBashの変数をインクリメントする例:

Bashで変数をインクリメントする方法はいくつかあります。以下の例を通して、最も一般的なもののいくつかを拡張しようとします。ただし、プリインクリメントとポストインクリメントの概念を紹介したいと思います。前者の場合、変数の値が最初にインクリメントされてから別の変数に割り当てられますが、後者の場合、変数の値が最初に格納され、後でインクリメントされます。プレインクリメントとポストインクリメントの両方の効果は、最初の2つの例から非常に明白になります。それでは、Bashスクリプトの例を見てみましょう。







例1:変数のポストインクリメント:

ポストインクリメントの効果を確認するには、下の画像に示すスクリプトを任意のBashファイルにコピーする必要があります。ホームディレクトリに任意の名前のBashファイルを作成し、その後に.sh拡張子を付けることができます。





このスクリプトでは、変数xを宣言し、値0で初期化しました。次に、別の変数aがあり、変数xの増分後の値を割り当てました。最後に、端末の変数aの値が出力されます





この割り当てが出力に与える影響を確認するには、次のコマンドを使用してこのスクリプトを実行する必要があります。

$bashIncrementVariable.sh



変数xをポストインクリメントして変数aに割り当てたため、変数aの値は0のままです。これは、変数xの値(最初は0でした)が最初に変数aに割り当てられたためです。そしてそれは増加しました。この出力を次の画像に示します。

例2:変数の事前インクリメント:

ここで、プリインクリメントの効果を確認するために、上記の例に示したものと同じスクリプトを少し変更して使用します。これを下の画像に示します。

このスクリプトでは、ポストインクリメントを使用する代わりに、単にプレインクリメントを使用しました。スクリプトの残りの部分は、例1とほぼ同じです。

ここで、このスクリプトを実行すると、変数aの値が0ではなく1になることがわかります。これは、今回は変数xの値が最初にインクリメントされ、変数aに割り当てられたためです。この出力を次の画像に示します。

例3:forループ内で変数をポストインクリメントする:

プレインクリメントとポストインクリメントの概念を明確に理解したら、この概念をforループ内で使用できます。スクリプトの例を次の画像に示します。

このスクリプトには、値がポストインクリメントされているカウンター変数またはイテレーターiを使用した単純なforループがあります。次に、反復ごとにiの値を出力しました。

このスクリプトの出力を次の画像に示します。

例4:forループ内で変数を事前にインクリメントする:

forループ内で変数を事前にインクリメントするために、サンプルスクリプトを次の画像に示します。

このスクリプトは、例3で行ったものと同じです。ポストインクリメントをプレインクリメントに置き換えることは、2つのスクリプトの唯一の違いです。

このスクリプトの出力は、添付の画像に表示されます。この出力は例3に示したものと同じですが、なぜだろうと思うかもしれません。今回は、変数iの値を他の変数に割り当てていないためです。そのため、これらの例では、プリインクリメントとポストインクリメントの効果が区別できなくなりました。

例5:+ =表記のwhileループを使用して変数をインクリメントする:

+ =表記を使用して、変数の値をインクリメントすることもできます。スクリプトの例を示します。これを次の画像に示します。

このスクリプトでは、変数iを宣言し、値0を割り当てました。次に、値が5未満になるまでこの変数を繰り返し処理するwhileループがあります。このループ内で、この変数の値を出力してから、 + =表記を使用してその値をインクリメントします。

このスクリプトの出力を次の画像に示します。

例6:+1表記のwhileループを使用して変数をインクリメントする:

+1表記は、変数の値を1ずつ増やす別の方法でもあります。これを示すスクリプトの例を次の画像に示します。

このスクリプトは、例5で行ったものと同じです。 + =表記を+1表記に置き換えることは、2つのスクリプトの唯一の違いです。

このスクリプトの出力を次の画像に示します。

結論:

今日のチュートリアルでは、Bashで変数をインクリメントする6つの異なる方法を学びました。また、プリインクリメントとポストインクリメントの概念に光を当て、適切な例を使用してこれらの概念を説明しました。プログラムに必要な機能に応じて、カウンター変数またはイテレーターをプリインクリメントするかポストインクリメントするかを選択できます。 Linux Mint 20のBashで変数をインクリメントする方法のいずれかを使用すると、目的の変数の値を簡単に1つ増やすことができます。