Bashスクリプトでの変数補間

Naila Saad Siddiqui 2024年2月15日
  1. Bash スクリプトの変数
  2. Bashスクリプトでの変数補間
Bashスクリプトでの変数補間

この記事では、Bash スクリプトで変数を使用する方法と、Bash スクリプトでこれらの変数を補間する方法について説明します。

Bash スクリプトの変数

すべてのプログラミング言語には、特定のデータ型を持つ変数があります。 同様に、Bash スクリプトを使用すると、変数を使用してデータ値を保存することもできます。

他のプログラミング言語とは異なり、Bash は変数のデータ型を持つことを制限しません。 Bash 変数には、文字列、数字、文字、または任意のものを含めることができます。

さらに、変数を使用するために変数を宣言する必要はありません。 参照する前に値を代入するだけで十分です。

変数を作成して使用する簡単な例を見てみましょう。

#!/bin/bash
var="Hello World"
echo $var

このスクリプトは、var 変数を作成し、文字列値として保存します。 その後、次の行で、その変数の値を出力しました。

変数を参照するには、スクリプトの実行時に $ 記号を使用して値を置き換えることに注意してください。

変数の作成と使用

Bashスクリプトでの変数補間

多くの場合、変数値を使用して、それを別のテキストまたは数値と連結する必要があります。 そのためには、変数を参照するための中かっこが必要です。

中括弧 {} をどこで使用し、丸括弧 () をどこで使用するかという問題が生じます。 両者の違いを見てみましょう。

中括弧 {} の使用

中括弧は、パラメーター展開として知られています。 中括弧は、変数の値の後にスペース以外の文字を出力する必要がある場合に使用されます。

次に、次のように中括弧 {} 内に変数を配置します。

#!/bin/bash
var="Hello"
echo ${var}World

上記のスクリプトでは、変数 var を作成し、Hello を保存したことに注意してください。 前の例では、別の単語を追加する必要がなかったため、中括弧なしで参照しました。

ここで中括弧を追加しないと、見つからない varWorld という名前の変数が検索されます。 そのため、スクリプトに正確な変数名を伝えるために、中括弧で囲みました。

その出力は次のとおりです。

Bash 変数補間 - 中括弧の使用

丸括弧 () の使用

丸括弧はコマンド拡張として知られています。 コマンド置換により、コマンドの出力をコマンド自体に置き換えることができます。

末尾の改行を削除した後、Bash はコマンドを実行し、コマンド置換をコマンドの標準出力に置き換えます。 埋め込まれた改行は消去されません。 ただし、単語分割中に削除される場合があります。

次のように、注文が同封されるとコマンド置換が発生します。

#!/bin/bash
day = $(date)
echo "Today is ${day}"

上記のスクリプトで、date は現在のシステムの日付と時刻を伝えるコマンドです。 したがって、スクリプトを実行すると、date はコマンドの出力に置き換えられ、変数 day に割り当てられます。

echo コマンドは次の行を出力します。

Bash 変数補間 - 丸括弧の使用

関連記事 - Bash Variable