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