青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

trap命令使用詳解

Posted on 2009-12-23 23:29 Prayer 閱讀(989) 評論(0)  編輯 收藏 引用 所屬分類: Shell
使用trap命令

trap命令用于捕獲指定的信號并執行預定義的命令。
其基本的語法是:
trap 'command' signal
其中signal是要捕獲的信號,command是捕獲到指定的信號之后,所要執行的命令??梢杂胟ill –l命令看到系統中全部可用的信號名,捕獲信號后所執行的命令可以是任何一條或多條合法的shell語句,也可以是一個函數名。
shell腳本在執行時,會產生三個所謂的“偽信號”,(之所以稱之為“偽信號”是因為這三個信號是由shell產生的,而其它的信號是由操作系統產生的),通過使用trap命令捕獲這三個“偽信號”并輸出相關信息對調試非常有幫助。


表 1. shell偽信號
信號名 何時產生
EXIT 從一個函數中退出或整個腳本執行完畢
ERR 當一條命令返回非零狀態時(代表命令執行不成功)
DEBUG 腳本中每一條命令執行之前

通過捕獲EXIT信號,我們可以在shell腳本中止執行或從函數中退出時,輸出某些想要跟蹤的變量的值,并由此來判斷腳本的執行狀態以及出錯原因,其使用方法是:
trap 'command' EXIT 或 trap 'command' 0

通過捕獲ERR信號,我們可以方便的追蹤執行不成功的命令或函數,并輸出相關的調試信息,以下是一個捕獲ERR信號的示例程序,其中的$LINENO是一個shell的內置變量,代表shell腳本的當前行號。

$ cat -n exp1.sh
1 ERRTRAP()
2 {
3 echo "[LINE:$1] Error: Command or function exited with status $?"
4 }
5 foo()
6 {
7 return 1;
8 }
9 trap 'ERRTRAP $LINENO' ERR
10 abc
11 foo

其輸出結果如下:

$ sh exp1.sh
exp1.sh: line 10: abc: command not found
[LINE:10] Error: Command or function exited with status 127
[LINE:11] Error: Command or function exited with status 1

在調試過程中,為了跟蹤某些變量的值,我們常常需要在shell腳本的許多地方插入相同的echo語句來打印相關變量的值,這種做法顯得煩瑣而笨拙。而通過捕獲DEBUG信號,我們只需要一條trap語句就可以完成對相關變量的全程跟蹤。

以下是一個通過捕獲DEBUG信號來跟蹤變量的示例程序:

$ cat –n exp2.sh
1 #!/bin/bash
2 trap 'echo “before execute line:$LINENO, a=$a,b=$b,c=$c”' DEBUG
3 a=1
4 if [ "$a" -eq 1 ]
5 then
6 b=2
7 else
8 b=1
9 fi
10 c=3
11 echo "end"

其輸出結果如下:

$ sh exp2.sh
before execute line:3, a=,b=,c=
before execute line:4, a=1,b=,c=
before execute line:6, a=1,b=,c=
before execute line:10, a=1,b=2,c=
before execute line:11, a=1,b=2,c=3
end

從運行結果中可以清晰的看到每執行一條命令之后,相關變量的值的變化。同時,從運行結果中打印出來的行號來分析,可以看到整個腳本的執行軌跡,能夠判斷出哪些條件分支執行了,哪些條件分支沒有執行。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产经典色站一区二区三区| 在线中文字幕一区| 欧美日韩国产123| 欧美成人tv| 欧美日韩国产美女| 欧美日韩在线观看视频| 欧美日本在线视频| 国产精品国产自产拍高清av| 国产精品久久二区二区| 国产午夜精品一区二区三区欧美| 国产精品嫩草影院av蜜臀| 国产精品一区二区女厕厕| 亚洲女人天堂成人av在线| 老司机成人在线视频| 欧美国产日韩xxxxx| 欧美日韩一区二区免费在线观看 | 亚洲精品国精品久久99热| 美国三级日本三级久久99| 欧美高清视频免费观看| 999在线观看精品免费不卡网站| 一区二区三区四区五区视频 | 欧美日韩福利在线观看| 欧美视频在线观看一区| 国内外成人免费视频| 亚洲国产婷婷香蕉久久久久久| 日韩一区二区高清| 久久久www成人免费毛片麻豆| 欧美成人中文字幕| 亚洲视频视频在线| 噜噜爱69成人精品| 国产精品久久久久久亚洲毛片| 激情亚洲成人| 亚洲欧美中文日韩在线| 欧美黄色日本| 欧美一级专区| 欧美视频免费| 在线欧美日韩精品| 亚洲国产成人久久| 欧美在线视频在线播放完整版免费观看 | 亚洲福利在线视频| 亚洲一区综合| 亚洲国产二区| 久久国产一二区| 国产精品美女视频网站| 亚洲精选久久| 亚洲成人资源| 久久只精品国产| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲国产专区| 久久久久久久久综合| 欧美一区二区视频在线观看| 国产精品午夜国产小视频| 亚洲精品视频在线观看免费| 久久乐国产精品| 午夜一区不卡| 国产乱理伦片在线观看夜一区| av成人天堂| 亚洲精品国产精品国自产在线| 欧美在线观看你懂的| 国产精品久久久久久久久久尿| 亚洲欧洲精品一区二区精品久久久| 久久精品人人爽| 亚洲一区不卡| 欧美另类女人| 亚洲视频一区| 日韩视频第一页| 欧美日韩在线亚洲一区蜜芽| 夜夜嗨av一区二区三区四区| 欧美二区在线看| 欧美~级网站不卡| 欧美激情精品久久久久久黑人 | 亚洲国产成人精品视频| 免费成人av在线| 美女脱光内衣内裤视频久久影院 | 美女福利精品视频| 亚洲成人资源| 欧美成人一区二区在线 | 欧美激情精品| 欧美巨乳在线| 亚洲私拍自拍| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美日韩久久不卡| 亚洲少妇自拍| 亚洲一区亚洲| 狠狠干综合网| 亚洲精品一区二区网址| 国产精品成人一区二区| 性欧美激情精品| 欧美一区二区三区免费在线看| 精品成人一区| 日韩午夜高潮| 黑人一区二区三区四区五区| 亚洲国产专区校园欧美| 国产精品久久久久久久午夜| 久久婷婷蜜乳一本欲蜜臀| 亚洲调教视频在线观看| 红桃av永久久久| 91久久嫩草影院一区二区| 欧美精品日韩综合在线| 欧美在线黄色| 欧美激情五月| 久久久久久久综合日本| 欧美国产日韩一区二区在线观看| 亚洲视频精选| 久久亚洲春色中文字幕| 亚洲一区二区日本| 久久精品天堂| 亚洲综合99| 免费视频一区二区三区在线观看| 亚洲欧美卡通另类91av| 久久精品99| 亚洲综合三区| 欧美不卡视频一区发布| 久久久精品网| 国产精品jvid在线观看蜜臀| 蜜桃精品一区二区三区| 国产精品久久久久久久9999| 欧美大片va欧美在线播放| 国产精品综合av一区二区国产馆| 欧美成人一品| 国产麻豆精品视频| 亚洲精品永久免费| 在线看国产一区| 久久国产精品一区二区| 亚洲欧美视频一区二区三区| 欧美精品 日韩| 亚洲国产成人在线| 精东粉嫩av免费一区二区三区| 欧美日韩人人澡狠狠躁视频| 在线观看欧美视频| 西西人体一区二区| 亚洲综合国产| 国产精品久久久久久五月尺| 亚洲高清自拍| 1000部国产精品成人观看| 欧美在线不卡视频| 久久福利影视| 国产亚洲欧美一区二区| 亚洲欧美日韩一区在线| 午夜精品久久久久久久99热浪潮| 欧美日韩一区二区国产| 日韩一区二区电影网| 亚洲午夜日本在线观看| 欧美日本国产一区| 亚洲美女在线看| 一本大道久久a久久精品综合| 欧美国产日韩精品| 亚洲激情中文1区| 亚洲视频二区| 国产精品亚洲美女av网站| 亚洲综合色激情五月| 欧美一区二区黄色| 精品99一区二区三区| 久久性天堂网| 亚洲久久在线| 亚洲欧美另类在线| 国产午夜精品美女视频明星a级| 亚洲欧美三级在线| 久热精品视频在线观看| 在线免费观看日本欧美| 免费日韩av片| 日韩视频中文| 另类天堂av| 国际精品欧美精品| 你懂的国产精品永久在线| 亚洲国产成人tv| 亚洲欧洲精品一区二区三区波多野1战4| 男女av一区三区二区色多| 亚洲精品少妇| 久久综合色综合88| 亚洲一二三区在线观看| 国产欧美 在线欧美| 老鸭窝91久久精品色噜噜导演| 亚洲黄色在线| 欧美在线观看网站| 91久久极品少妇xxxxⅹ软件| 欧美日韩免费一区| 久久精品123| 日韩图片一区| 农村妇女精品| 欧美夜福利tv在线| 亚洲精品免费在线观看| 欧美日韩一区二区三| 久久国产精品一区二区三区四区| 亚洲国产精品久久久久秋霞蜜臀 | 欧美日韩视频在线一区二区观看视频| 一本久久知道综合久久| 另类专区欧美制服同性| 一本色道久久综合精品竹菊| 国产日韩综合一区二区性色av| 欧美电影打屁股sp| 欧美在线一二三区| 99香蕉国产精品偷在线观看| 久久久一区二区三区| 亚洲一区欧美激情| 在线亚洲国产精品网站| 国产精品视频九色porn| 欧美激情中文字幕乱码免费| 久久精品人人做人人综合| 9l视频自拍蝌蚪9l视频成人|