シェルで変数展開する場合の書き方

シェルで変数展開する場合の書き方

シェルスクリプトで変数展開を行う方法にはいくつかの書き方があります。
以下に、一般的なシェルスクリプト(特に Bash)での変数展開の基本的な書き方といくつかの応用例を示します。

基本的な変数展開

1. 変数の設定と展開

シェルスクリプトで変数を設定し、展開する基本的な方法は次の通りです。

# 変数の設定
MY_VAR="Hello, World!"

# 変数の展開
echo $MY_VAR

この例では、変数 MY_VAR に "Hello, World!" という文字列を設定し、echo コマンドでその値を表示します。
$MY_VAR のように $ を使って変数を展開します。

2. ダブルクォート内での変数展開

ダブルクォート内で変数を展開することで、変数の値が展開され、スペースや特殊文字を含む文字列でも適切に扱うことができます。

NAME="Alice"
echo "Hello, $NAME!"

このスクリプトは "Hello, Alice!" と表示されます。

変数展開の応用

1. デフォルト値の設定

変数が設定されていない場合にデフォルト値を設定するには、${VAR:-default} の構文を使用します。

echo ${MY_VAR:-"Default Value"}

MY_VAR が未設定または空の場合に "Default Value" が表示されます。

2. 変数の長さ

変数の長さを取得するには、${#VAR} を使用します。

TEXT="Hello"
echo ${#TEXT}

このスクリプトは 5 と表示されます("Hello" の文字数)。

3. 文字列の切り取り

文字列の一部を切り取るには、${VAR:start:length} の構文を使います。

STRING="Hello, World!"
echo ${STRING:7:5}

このスクリプトは "World" と表示されます("Hello, World!" の7文字目から5文字を切り取った部分)。

4. 文字列の置換

文字列の一部を置換するには、${VAR/old/new} の構文を使用します。

GREETING="Hello, World!"
echo ${GREETING/World/Universe}

このスクリプトは "Hello, Universe!" と表示されます。

配列の変数展開

Bash では配列の変数展開もサポートしています。
以下に配列の基本的な使い方を示します。

# 配列の設定
FRUITS=("Apple" "Banana" "Cherry")

# 配列の展開
echo ${FRUITS[0]}  # Apple
echo ${FRUITS[@]}  # Apple Banana Cherry

ここでは、FRUITS という配列を作成し、配列の最初の要素を展開したり、全要素を展開したりしています。

シェルスクリプトでの変数展開は、スクリプトの効率的な記述に役立ちます。
これらの基本的な方法と応用を理解することで、より柔軟で強力なスクリプトを作成することができます。