Bash で文字列を連結する方法
    
    Suraj Joshi
    2023年1月30日
    
    Linux
    Bash
    Bash String
    
 
文字列連結はプログラミングで最も広く使われている操作の一つで、2つ以上の文字列を別の文字列の最後に配置して連結することを意味します。Bash で文字列を連結するには、文字列変数を次から次へと書いたり、+= 演算子を使って連結したりします。
文字列の連結文字列変数を次々に配置する
文字列変数を連続して配置することで、文字列を連結することができます。
STR1="Delft"
STR2="Stack"
STR3="$STR1$STR2"
echo "$STR3"
出力:
DelftStack
上の例では、STR1 と STR3 を連結し、連結した文字列を STR3 に代入しています。ダブルクォート (" ") は、分割やグロブの問題を防ぐために使われています。
出力を表示します。には echo コマンドを用います。
1つ以上の変数をリテラル文字列で連結する
STR1="Delft"
STR3="${STR1}-Stack"
echo "$STR3"
出力:
Delft-Stack
ここでは、文字列変数と文字列リテラルを分離するために {} を用います。
これは文字列変数 STR1 と文字列リテラル -Stack を連結します。
2つ以上の文字列を連結する
文字列変数とリテラルを連続して配置することで、2つ以上の文字列変数を連結することができます。
STR1="Delft"
STR2="-Stack"
STR3="Check them out!!"
STR4="${STR1}${STR2} has great programming articles.${STR3}"
echo "$STR4"
出力:
Delft-Stack has great programming articles.Check them out!!
数値リテラルと文字列リテラルの連結
変数は連結時に type に基づいて Bash で区別されることはありません。これらはコンテキストに応じて integer または string として解釈されます。
STR1="FIVE-"
STR2=5
STR4="$STR1$STR2"
echo "$STR4"
出力:
FIVE-5
文字列変数 FIVE- と 5 を連結します。
演算子 += を用いた文字列連結
また、Bash は += 演算子を用いて文字列を連結することもできます。単純に a+=b とすると、a=a+b と理解することができます。
STR1="Delft"
STR2="-Stack"
STR1+=$STR2
echo "$STR1"
出力:
Delft-Stack
ここでは、STR1 の最後に STR2 が追加され、その結果が STR1 変数に格納されます。
複数の値を追加するには、単純な for ループを使用することができます。
NUMS=""
for NUM in 'One' 'Two' 'Three' 'Four'; do
  NUMS+="${NUM} "
done
echo "$NUMS"
出力:
One Two Three Four 
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
    
著者: Suraj Joshi
    Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn