第3章: Bashの基本構文を理解する

Bashで業務効率化

本記事は、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)

繰り返し処理を行う場合は forwhile を使用します。

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スクリプトの基本構文として、変数、条件分岐、ループ処理、関数の使い方を解説しました。これらを組み合わせることで、業務を効率化するスクリプトを作成できます。

次章では、実践的なスクリプトの書き方を紹介します。

全記事をチェック:「Bashで業務効率化」連載一覧

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする
Bashで業務効率化

コメント

タイトルとURLをコピーしました