Bash で文字列を連結する方法
Suraj Joshi
2023年1月30日
文字列連結はプログラミングで最も広く使われている操作の一つで、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
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn