trap
一:用途說明
trap命令是shell內建的命令,它用在腳本中指定信號如何處理。
比如,按Ctrl+C會使腳本終止執行,實際上系統發送了SIGINT信號給腳本進程,SIGINT信號的默認處理方式就是退出程序。如果要在Ctrl+C不退出程序,那么就得使用trap命令來指定一下SIGINT的處理方式了。
trap命令不僅僅處理Linux信號,還能對腳本退出(EXIT)、調試(DEBUG)、錯誤(ERR)、返回(RETURN)等情況指定處理方式。
二:常見參數
1:trap "commands" signals
當shell接收到signals指定的信號時,執行commands命令。
2:trap signals
如果沒有指定命令部分,那么就將信號處理復原。比如 trap INT 就表明恢復Ctrl+C退出。
3:trap "" signals
忽略信號signals,可以多個,比如 trap "" INT 表明忽略SIGINT信號,按Ctrl+C也不能使腳本退出。又如 trap "" HUP 表明忽略SIGHUP信號,即網絡斷開時也不能使腳本退出。
4:trap -p
將當前的tarp設置打印出來。
5:trap -l
把所有信號打印出來。
6:trap "commands" EXIT
腳本退出時執行commands指定的命令。
7:trap "commands" DEBUG
在腳本執行時打印調試信息,比如打印將要執行的命令及參數列表。
8:trap "commands" ERR
當命令出錯,退出碼非0,執行commands指定的命令。
9:trap "commands" RETURN
當從shell函數返回、或者使用source命令執行另一個腳本文件時,執行commands指定的命令。
總結
- 上一篇: 《魔力宝贝》金色佣兵阿鲁巴斯 密医头目的
- 下一篇: JupyterNotebook随记(pa