Trap命令簡介

 Trap命令簡介

 

 

一、基本概念

 trap是一個shell內建命令,它用來在腳本中指定信號如何處理。比如,按Ctrl+C會使腳本終止執行,實際上系統發送了SIGINT信號給腳本進程,SIGINT信號的默認處理方式就是退出程序。如果要在Ctrl +C不退出程序,那么就得使用trap命令來指定一下SIGINT的處理方式了。trap命令不僅僅處理Linux信號,還能對腳本退出(EXIT)、調試(DEBUG)、錯誤(ERR)、返回(RETURN)等情況指定處理方式。

二、基本格式

  格式:trap "commands" signals

       shell接收到signals指定的信號時,執行commands命令。

1、格式:trap signals

         如果沒有指定命令部分,那么就將信號處理復原。比如 trap INT 就表明恢復Ctrl+C退出

2、格式:trap "" signals

         忽略信號signals,可以多個,比如 trap "" INT 表明忽略SIGINT信號,按Ctrl+C也不能使腳本退出。又如 trap "" HUP 表明忽略SIGHUP信號,即網絡斷開時也不能使腳本退出

3、格式:trap -p signal

         把當前的trap設置打印出來

4、格式:trap -l

         把所有信號打印出來

5、格式:trap "commands" EXIT

         腳本退出時執行commands指定的命令

三、實例分析

         1、寫一個腳本ping  A、B、CIP地址探測所有的主機是否在線;

         1.png

         說明:如果范圍為{1..255}時,執行時間比較長,此時ctrl+c中斷時無法中斷,這時我們可以使用tarp命令,當執行ctrl+c時,會執行一個命令或者行數,見例2

         2、用trap實現中斷執行;

         2.png

         3.png

         說明:此時執行ctrl+c時將調用quitScript函數,執行退出。

原創文章,作者:wxdz_2004(古雨秋),如若轉載,請注明出處:http://www.www58058.com/4199

(2)
wxdz_2004(古雨秋)wxdz_2004(古雨秋)
上一篇 2015-05-11
下一篇 2015-05-11

相關推薦

  • 雙主模型的Nginx高可用負載均衡集群

    實驗目的:使用keepalived實現Nginx的雙主高可用負載均衡集群 實驗環境:兩臺Nginx proxy(雙主Nginx,各需要兩塊網卡,eth0連接內網,eth1連接外網)、兩臺web server(請求的負載均衡)、一臺client用于驗證結果。 注意:為了不影響實驗結果,在實驗開始前先關閉iptables和selinux 操作步驟: 一、配置IP…

    2017-05-13
  • TCP/IP

    TCP/IP協議族     互聯網協議族(英語:Internet Protocol Suite,縮寫IPS)是一個網絡通信模型,以及一整個網絡傳輸協議家族,為互聯網的基礎通信架構。它常被通稱為TCP/IP協議族(英語:TCP/IP Protocol Suite,或TCP/IP Protocols),簡稱TCP/IP。因為該協議家…

    Linux干貨 2017-06-26
  • N25-第九周

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash #統計shell及非shell個數 #author:dodo declare -i loginnum=0 declare -i nologinnum=0 while…

    Linux干貨 2017-05-27
  • N26第一周作業

    第一周作業   1. 描述計算機的組成及其功能。   計算機主要由處理器(CPU)、存儲器、輸入設備、輸出設備。 CPU由運算器、控制器、寄存器、緩存器組成,提供運算。 存儲器即內存,RAM(Random Access Memory),內存為cpu運算時提供數據存儲。 Input:用戶下指令的設備,使計算機能夠與用戶進行交互。 Outpu…

    Linux干貨 2017-01-03
  • 8.3_Linux習題和作業

    課堂習題 1.當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 答:不能cd進該目錄 2.當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 答:不能查看目錄內的文件列表,不能cd,也不能查看目錄里面文件的元數據 3.當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件…

    Linux干貨 2016-08-04
  • Linux基礎知識點(二)

    此篇博客只是記錄第二周未掌握或不熟悉的知識點,用來加深印象。

    2018-03-13
欧美性久久久久