Bashスクリプトの基礎 - シバン、引数、終了コード、setオプション

シバン行、コマンドライン引数の解析、終了コード、安全のためのsetオプション、スクリプト構造のベストプラクティスを含むbashスクリプトの基本的な基礎知識。

Script Basics

詳細な説明

Bashスクリプトの基礎

堅牢なbashスクリプトを書くには、シバン行、引数の処理、終了コード、安全オプションなどの基本概念を理解する必要があります。

シバン行

#!/bin/bash           # 絶対パス(最も一般的)
#!/usr/bin/env bash   # ポータブル(PATHからbashを検索)

安全オプション

#!/usr/bin/env bash
set -euo pipefail
# -e  コマンドが失敗したら即座に終了
# -u  未設定の変数をエラーとして扱う
# -o pipefail  パイプ内のいずれかのコマンドが失敗したら失敗

コマンドライン引数

if [ $# -lt 1 ]; then
  echo "Usage: $0 <environment> [--force]"
  exit 1
fi

スクリプトテンプレート

#!/usr/bin/env bash
set -euo pipefail

readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

usage() {
  echo "Usage: $SCRIPT_NAME [options] <argument>"
}

log() {
  echo "[$(date '+%H:%M:%S')] $*"
}

log "Starting..."

ユースケース

すべてのbashスクリプトは適切な構造と安全オプションの恩恵を受けます。set -euo pipefailの組み合わせは一般的なスクリプトエラーの大部分をキャッチします。引数解析、使用法メッセージ、クリーンアップトラップを備えた適切に構造化されたスクリプトテンプレートは、デプロイスクリプト、自動化ツール、システム管理タスクの時間を節約し、バグを防ぎます。

試してみる — Bash Cheat Sheet

フルツールを開く