Categories: shellscript

シェルスクリプトで変数を扱う方法

シェルスクリプトは、UNIX系のシステムでよく使われるスクリプト言語で、日常的なタスクの自動化や複雑なシステム操作を簡単にするのに便利です。

シェルスクリプトでの変数の使用方法を理解することは、効率的なスクリプトを書くために不可欠です。

実行方法などの基本的な事項は以下の記事にまとめていますので、シェルスクリプトが初めてという方は、まずこちらの記事に目を通してみてください。

シェルスクリプトとは、UNIX系のオペレーティングシステムで使われるスクリプト言語の一つで、シェルと呼ばれるコマンドラインインターフェース...

この記事では、シェルスクリプトでの変数の基本的な使い方について説明します。

変数の定義と代入

まずは、文字列や数値などの変数を定義して代入し、中身を表示する方法を確認します。以下は変数の定義や代入、表示を行う例となるスクリプトです。

#!/bin/bash

# 変数の定義
name="Tanaka Taro"
age=40

# 変数の使用
echo "Name: $name"
echo "Age: $age"

実行結果

スクリプトの解説

  • name=”Tanaka Taro”: 変数nameに”Tanaka Taro”という文字列を代入します。
  • age=40: 変数 age に数値40を代入します。
  • echo “Name: $name”: 変数nameの値を表示します。

ポイント

  • 変数名と値の間にはスペースを入れないでください。
  • 変数を参照する際には、$を前に付けます(例: $name)。

変数の値で演算

シェルスクリプトで数値演算を行う場合は、 $(( … )) を使用します。

以下は、シェルスクリプトで基本的な数値演算を行う例です。変数 ab に対して加算、減算、乗算、除算を実行し、それぞれの結果を表示します。

#!/bin/bash

a=10
b=2

# 加算
c=$((a+b))
echo "Result: $c"

# 減算
c=$((a-b))
echo "Result: $c"

# 乗算
c=$((a*b))
echo "Result: $c"

# 除算
c=$((a/b))
echo "Result: $c"

実行結果

正しく四則演算が行えていることがわかります。

スクリプトの解説

  • $((a+b)): 変数aとbの値を加算する式です。減算(-)、乗算(*)、除算(/)についても同様です。
  • c=$((a+b)): 結果を変数cに代入し、echoコマンドで出力します。出力は「Result: 12」です。

ポイント

  1. 基本的な演算子:
    • 加算: +
    • 減算: –
    • 乗算: * (注意: *はクォートで囲まないとシェルでワイルドカードとして解釈される可能性があります)
    • 除算: /
  2. 数値演算の構文:
    • 数値演算には $(( … )) を使用します。これにより、シェルは数式を評価し、その結果を返します。
  3. 演算結果の変数への代入:
    • 演算の結果を変数に代入することで、その後の処理に利用できます。変数を$で参照して値を取得します。

コマンドの結果を変数に代入

シェルスクリプトでは、コマンドの実行結果を変数に代入することもできます。これには「$(…)」を使用します。

以下のシェルスクリプトは、現在の日時を取得し、それを表示する簡単なスクリプトです。

#!/bin/bash

# コマンドの結果を変数に代入
current_date=$(date)
echo "Current Date and Time: $current_date"

実行結果

スクリプトの解説

  • dateコマンドの結果を変数current_dateに代入します。
  • dateコマンドは、現在の日付と時刻を表示するコマンドです。このコマンドが返す文字列が current_date変数に代入されます。
Haruoka