👌
【Shell】引数に応じて処理を分ける Shell Script の基本
引数に応じて処理を分ける Shell Script の基本
この記事では、シェルスクリプト(bash)で 引数によって処理内容を分ける方法 を紹介します。
テスト自動化やツール起動の分岐処理などに便利です。
✅ サンプルスクリプト
#!/bin/bash
case "$1" in
1) echo "1の処理" ;;
2) echo "2の処理" ;;
3) echo "3の処理" ;;
4) echo "4の処理" ;;
5) echo "5の処理" ;;
*) echo "その他の処理" ;;
esac
🔍 解説
-
$1
は、スクリプト実行時の 第1引数 を意味します。 -
case
文を使うことで、値に応じた処理をシンプルに分けられます。 -
;;
は各処理の終了を示す必要があります。 -
*
はデフォルト(どれにも当てはまらない場合)の処理です。
🛠 実行例
bash sample.sh 3
3の処理
bash sample.sh abc
その他の処理
追記
#!/bin/bash
# 引数がない場合のエラーメッセージ
if [ $# -eq 0 ]; then
echo "引数を指定してください。"
exit 1
fi
# 引数に応じた返事
case $1 in
tarou)
echo "ゴリラ"
;;
1)
echo "数字の1ですね。"
;;
2)
echo "数字の2ですね。"
;;
*)
echo "適当な返事です。"
;;
esac
このように case
文を使うことで、シンプルかつ柔軟なスクリプトが書けます。
Discussion