1. 概要

このクイックチュートリアルでは、シェルスクリプトで文字列変数を連結する方法について説明します。

2. +=Bashの演算子

BashはLinuxで広く使用されているシェルであり、2つの変数を連結するための「+=」演算子をサポートしています

例でこの演算子をすばやく説明できます。

$ myVar="Hello"
$ myVar+=" World" 
$ echo $myVar
Hello World

上記の例が示すように、Bashでは、+=演算子を使用して文字列変数を簡単に連結できます。

Bashの+=は、Javaなどの他のプログラミング言語の複合演算子と非常によく似ています。 ただし、数値を操作する場合、Bashの+=演算子の動作が異なることに注意してください。

繰り返しますが、例を使って理解しましょう。

$ myNum=100
$ myNum+=200

今回は、最初に値100を変数myNumに割り当てました。 次に、+ =演算子を使用して、200の別の値を変数に「追加」しました。 したがって、myNum変数の値は300であると予想される場合があります。

ただし、 myNum 変数の値を確認すると、次のような結果になる可能性があります。

$ echo $myNum 
100200

上記の出力でわかるように、Bashは値を文字列として扱います。 2つの整数の合計を計算し、その結果を変数 myNum に割り当てる場合は、+=演算子をBashの算術展開と一緒に使用できます。

$ myNum=100
$ ((myNum+=200))
$ echo $myNum 
300

Bashの+= 演算子は、文字列変数を連結し、割り当てを1回で適用するのに便利です。 ただし、複数の変数を結合する場合は、それが最善の選択ではありません。 さらに、シェルがBashでない場合、シェルは+=演算子をサポートしていない可能性があります。

それでは、次に、シェルスクリプトでの文字列連結のより一般的な解決策を見てみましょう。

3. POSIXシェルでの文字列変数の連結

シェルプログラミングでは、パラメータ展開を使用して変数を連結できます。

例を見てみましょう:

$ var1=hello
$ var2=and
$ var3=bye
$ var4="${var1} ${var2} ${var3}"
$ echo $var4
hello and bye

上記の例で見たように、パラメーター展開を使用して3つの変数の値を連結しました。

4. 結論

この簡単な記事では、Bashの+=演算子を使用して変数を連結する方法について説明しました。

さらに、複数の変数を連結する必要がある場合、またはシェルがBashでない場合は、シェルのパラメーター展開を使用してジョブを実行できます。