跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
利用 trap 執行所有 Bash 退出前該做的事情
資訊技術••約 1 分鐘•300 字

利用 trap 執行所有 Bash 退出前該做的事情

本文目錄共 3 節

執行的腳本內容越來複雜度越高相對遇到困難的程度也越高,在執行這些腳本中產生的暫存檔案內容是不適合留下來的被任何東西讀取的。利用Linux trap 指令來在執行退出腳本前必須執行的內容,快速帶你了解 trap 此指令該如何使用 。

指令參數

trap [執行內容] [信號]

較常使用的信號內容如以下

  • HUP
    • 腳本執行時與使用者終端機失去連線。
  • INT
    • 當用戶按下 Ctrl + C ,使腳本終止運行
  • QUIT
  • 當使用者按下 Ctrl + \ ,使腳本退出。
  • KILL
    • 用該訊號終止進程。
  • ERR
    • 當命令出現錯誤時。
  • TERM
    • 當2; 接受到 Kill 時默認發出訊號。
  • EXIT
    • Bash 腳本特有訊號,當退出腳本就會產生不管任何情形。

使用情境

trap 'rm -f "/var/tmp/CJK.text"' EXIT
#當腳本遇上 EXIT 就會執行 rm -f "/var/tmp/CJK.txt"。

常用於退出腳本時清理檔案,或是執行錯誤時退出腳本。

如果當退出要執行多行指令可以使用呼叫函式的方式,使用舉例如下

Exit_safely (){
  command1
  command2
  command3
}
trap Exit_safely EXIT

參考資料

查看此系列所有文章 →
CJ Kuo (郭仕杰)

CJ Kuo (郭仕杰)

創辦人兼主筆

熱愛軟體架構、DevOps、系統調優與新技術探索的工程實踐者,也會寫寫投資和生活。

獨立技術專刊推播

訂閱技術電子報

有新文章發布時寄送到您的信箱,不發送垃圾信。