本記事は、Bashで業務効率化を学ぶための連載の一部です。
前章ではBashの概要や実行環境の準備について解説しました。この記事では、Bashスクリプトを作成する際に必要となる基本構文を学びます。
Bashスクリプトとはコマンドラインで実行できるコマンドをまとめることで完成します。そのため、各コマンドの実行方法に準ずる形でスクリプトを記述することが重要です。また、異なるコマンドを組み合わせることで、より柔軟で強力なツールを作成することができます。
本記事を読むことで、以下の内容が理解できます:
- Bashスクリプトでの変数の使い方
- 条件分岐(if文、case文)の記述方法
- 繰り返し処理(for文、while文)の活用方法
- 関数を定義し、再利用性を高める方法
この章ではその中でもBashスクリプトで使える基本的でより柔軟に組み合わせることができる記述方法を紹介していきます。
変数・環境変数の使い方
Bashスクリプトでは、変数を使うことで値を保持し、繰り返し使用することができます。
変数の宣言と参照
Bashでは、変数を宣言するときに=
を使います。ただし、=
の前後にスペースを入れないように注意しましょう。
name="Taro"
echo "$name"
環境変数
環境変数は、シェル全体で参照できる変数です。export
コマンドを使うと、スクリプト内だけでなく、外部のプログラムでも使用できます。
export PATH="/usr/local/bin:$PATH"
条件分岐(if, case)
Bashでは、if
文を使って条件分岐を行うことができます。
if文の基本形
if [ 条件 ]; then
処理
elif [ 別の条件 ]; then
別の処理
else
それ以外の処理
fi
例: 数値の比較
num=10
if [ "$num" -gt 5 ]; then
echo "numは5より大きい"
else
echo "numは5以下"
fi
case文
特定の値に応じて処理を分岐させる場合は、case
を使うと便利です。
case "$1" in
start)
echo "サービスを開始します"
;;
stop)
echo "サービスを停止します"
;;
*)
echo "使用方法: $0 {start|stop}"
;;
esac
ループ処理(for, while)
繰り返し処理を行う場合は for
や while
を使用します。
forループ
for i in {1..5}; do
echo "$i 回目の処理"
done
または、配列の要素を順番に処理する場合:
fruits=(apple banana orange)
for fruit in "${fruits[@]}"; do
echo "$fruit"
done
whileループ
while
文を使うと、条件が満たされている間、繰り返し処理を実行できます。
count=1
while [ "$count" -le 5 ]; do
echo "$count 回目の処理"
((count++))
done
関数の定義と活用
Bashでは関数を使って処理をまとめることができます。
関数の定義
hello() {
echo "Hello, World!"
}
hello # 関数の呼び出し
引数を受け取る関数
greet() {
echo "Hello, $1!"
}
greet "Taro"
関数を使うことで、スクリプトの再利用性を高めることができます。
この章では、Bashスクリプトの基本構文として、変数、条件分岐、ループ処理、関数の使い方を解説しました。これらを組み合わせることで、業務を効率化するスクリプトを作成できます。
次章では、実践的なスクリプトの書き方を紹介します。
コメント