閱界食譜今天吃什麼,先來這裡看看
代碼片段

Shell 腳本安全開頭

寫腳本時開頭加上這幾行,出錯就停、不留坑。

範本正文

#!/usr/bin/env bash
set -euo pipefail
# -e 出錯立即退出
# -u 用到未定義變量就報錯
# -o pipefail 管道中任意一步失敗即失敗

IFS=$'\n\t'                     # 避免文件名裡的空格把循環拆斷

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

log() { printf '[%s] %s\n' "$(date '+%H:%M:%S')" "$*"; }

log "開始執行"
# 你的邏輯
log "執行完成"

怎麼用

任何新寫的 .sh 文件都建議這麼開頭。

使用要點

  • 沒有 set -e 的腳本,中間失敗了還會繼續跑,容易產生髒數據。
  • 路徑一律用絕對路徑或 SCRIPT_DIR,不要依賴執行時的工作目錄。

同類範本

Shell 腳本安全開頭 · 閱界食譜