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 はコマンドを実行し、コマンド置換をコマンドの標準出力に置き換えます。 埋め込まれた改行は消去されません。 ただし、単語分割中に削除される場合があります。
次のように、注文が同封されるとコマンド置換が発生します。
#!/bin/bash
day = $(date)
echo "Today is ${day}"
上記のスクリプトで、date
は現在のシステムの日付と時刻を伝えるコマンドです。 したがって、スクリプトを実行すると、date
はコマンドの出力に置き換えられ、変数 day
に割り当てられます。
echo
コマンドは次の行を出力します。