国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

Shell技巧匯總(2)
2007-03-09   linuxmine

8.命令分組

在shell中有兩種命令分組的方法:“()”和“{}”,前者當(dāng)shell執(zhí)行()中的命令時將再創(chuàng)建一個新的子進程,然后這個子進程去執(zhí)行圓括弧中的命令。當(dāng)用戶在執(zhí)行某個命令時不想讓命令運行時對狀態(tài)集合(如位置參數(shù)、環(huán)境變量、當(dāng)前工作目錄等)的改變影響到下面語句的執(zhí)行時,就應(yīng)該把這些命令放在圓括弧中,這樣就能保證所有的改變只對子進程產(chǎn)生影響,而父進程不受任何干擾;{}用于將順序執(zhí)行的命令的輸出結(jié)果用于另一個命令的輸入(管道方式)。當(dāng)我們要真正使用圓括弧和花括弧時(如計算表達式的優(yōu)先級),則需要在其前面加上轉(zhuǎn)

義符(\)以便讓shell知道它們不是用于命令執(zhí)行的控制所用。

9.信號

trap命令用于在shell程序中捕捉到信號,之后可以有三種反應(yīng)方式:

(1)執(zhí)行一段程序來處理這一信號

(2)接受信號的默認(rèn)操作

(3)忽視這一信號

trap對上面三種方式提供了三種基本形式:

第一種形式的trap命令在shell接收到signal list清單中數(shù)值相同的信號時,將執(zhí)行雙引號中的命令串。

trap 'commands' signal-list

trap "commands" signal-list

為了恢復(fù)信號的默認(rèn)操作,使用第二種形式的trap命令:trap signal-list

第三種形式的trap命令允許忽視信號:trap " " signal-list

注意:(1)對信號11(段違例)不能捕捉,因為shell本身需要捕捉該信號去進行內(nèi)存的轉(zhuǎn)儲。

(2)在trap中可以定義對信號0的處理(實際上沒有這個信號),shell程序在其終止(如執(zhí)行exit語句)時發(fā)出該信號。

(3)在捕捉到signal-list中指定的信號并執(zhí)行完相應(yīng)的命令之后,如果這些命令沒有將shell程序終止的話,shell程序?qū)⒗^續(xù)執(zhí)行收到信號時所執(zhí)行的命令后面的命令,這樣將很容易導(dǎo)致shell程序無法終止。

另外,在trap語句中,單引號和雙引號是不同的,當(dāng)shell程序第一次碰到trap語句時,將把commands中的命令掃描一遍。此時若commands是用單引號括起來的話,那么shell不會對commands中的變量和命令進行替換,否則commands中的變量和命令將用當(dāng)時具體

的值來替換。

10. 運行shell程序的方法

執(zhí)行shell程序的方法有三種:

(1)sh shell程序文件名

格式為:bash shell 程序文件名

這實際上是調(diào)用一個新的bash命令解釋程序,而把shell程序文件名作為參數(shù)傳遞給它。新啟動的shell將去讀指定的文件,執(zhí)行文件中列出的命令,當(dāng)所有的命令都執(zhí)行完結(jié)束。該方法的優(yōu)點是可以利用shell調(diào)試功能。

(2)sh
格式為:bash
這種方式就是利用輸入重定向,使shell命令解釋程序的輸入取自指定的程序文件。

(3)用chmod命令使shell程序成為可執(zhí)行的

11. bash程序的調(diào)試

bash -選擇項 shell程序文件名

幾個常用的選擇項是:

-e:如果一個命令失敗就立即退出

-n:讀入命令但是不執(zhí)行它們

-u:置換時把未設(shè)置的變量看作出錯

-v:當(dāng)讀入shell輸入行時把它們顯示出來

-x:執(zhí)行命令時把命令和它們的參數(shù)顯示出來

上面的所有選項也可以在shell程序內(nèi)部用“set -選擇項”的形式引用,而“set +選擇項”則將禁止該選擇項起作用。如果只想對程序的某一部分使用某些選擇項時,則可以將該部分用上面兩個語句包圍起來。

1.未置變量退出和立即退出

未置變量退出特性允許用戶對所有變量進行檢查,如果引用了一個未賦值的變量就終止shell程序的執(zhí)行。shell通常允許未置變量的使用,在這種情況下,變量的值為空。如果設(shè)置了未置變量退出選擇項,則一旦使用了未置變量就顯示錯誤信息,并終止程序的運行。未置變量退出選擇項為“-u”。當(dāng)shell運行時,若遇到不存在或不可執(zhí)行的命令、重定向失敗或命令非正常結(jié)束等情況時,如果未經(jīng)重新定向,該出錯信息會打印在終端屏幕上,而shell程序仍將繼續(xù)執(zhí)行。要想在錯誤發(fā)生時迫使shell程序立即結(jié)束,可以使用“-e”選項將shell程序的執(zhí)行立即終止。

2.shell程序的跟蹤

調(diào)試shell程序的主要方法是利用shell命令解釋程序的“-v”或“-x”選項來跟蹤程序的執(zhí)行。“-v”選擇項使shell在執(zhí)行程序的過程中,把它讀入的每一個命令行都顯示出來,而“-x”選擇項使shell在執(zhí)行程序的過程中把它執(zhí)行的每一個命令在行首用一個“+”加上命令名顯示出來。并把每一個變量和該變量所取的值也顯示出來,因此,它們的主要區(qū)別在于:在執(zhí)行命令行之前無“-v”則打印出命令行的原始內(nèi)容,而有“-v”則打印出經(jīng)過替換后的命令行的內(nèi)容。

除了使用shell的“-v”和“-x”選擇項以外,還可以在shell程序內(nèi)部采取一些輔助調(diào)試的措施。例如,可以在shell程序的一些關(guān)鍵地方使用echo命令把必要的信息顯示出來,它的作用相當(dāng)于C語言中的printf語句,這樣就可以知道程序運行到什么地方及程序目前的狀態(tài)。

12. bash的內(nèi)部命令

bash命令解釋程序包含了一些內(nèi)部命令。內(nèi)部命令在目錄列表時是看不見的,它們由shell本身提供。常用的內(nèi)部命令有:echo、eval、exec、export、readonly、read、shift、wait和點(.)。下面簡單介紹其命令格式和功能。

1.echo 命令格式:echo arg

功能:在屏幕上打印出由arg指定的字符串。

2.eval 命令格式:eval args

功能:當(dāng)shell程序執(zhí)行到eval語句時,shell讀入?yún)?shù)args,并將它們組合成一個新的命令,然后執(zhí)行。

3.exec 命令格式:exec 命令 命令參數(shù)

功能:當(dāng)shell執(zhí)行到exec語句時,不會去創(chuàng)建新的子進程,而是轉(zhuǎn)去執(zhí)行指定的命令,當(dāng)指定的命令執(zhí)行完時,該進程,也就是最初的shell就終止了,所以shell程序中exec

后面的語句將不再被執(zhí)行。

4.export 命令格式:export 變量名 或:export 變量名=變量值

功能:shell可以用export把它的變量向下帶入子shell從而讓子進程繼承父進程中的環(huán)境變量。但子shell不能用export把它的變量向上帶入父shell。

注意:不帶任何變量名的export語句將顯示出當(dāng)前所有的export變量。

5.readonly 命令格式:readonly 變量名

功能:將一個用戶定義的shell變量標(biāo)識為不可變的。不帶任何參數(shù)的readonly命令將顯示出所有只讀的shell變量。

6.read 命令格式:read變量名表

功能:從標(biāo)準(zhǔn)輸入設(shè)備讀入一行,分解成若干字,賦值給shell程序內(nèi)部定義的變量。

7.shift語句

功能:shift語句按如下方式重新命名所有的位置參數(shù)變量:$2成為$1,$3成為$2……在程序中每使用一次shift語句,都使所有的位置參數(shù)依次向左移動一個位置,并使位置參數(shù)“$#”減一,直到減到0。

8.wait

功能:是shell等待在后臺啟動的所有子進程結(jié)束。Wait的返回值總是真。

9.exit

功能:退出shell程序。在exit之后可有選擇地指定一個數(shù)字作為返回狀態(tài)。

10.“.”(點)

命令格式:. Shell程序文件名

功能:使shell讀入指定的shell程序文件并依次執(zhí)行文件中的所有語句。

13. 特殊參數(shù)

1. $*: 代表所有參數(shù),其間隔為IFS內(nèi)定參數(shù)的第一個字元

2. $@: 與*星號類同。不同之處在於不參照IFS

3. $#: 代表參數(shù)數(shù)量

4. $?: 執(zhí)行上一個指令的返回值

5. $-: 最近執(zhí)行的foreground pipeline的選項參數(shù)

6. $$: 本身的Process ID

7. $!: 執(zhí)行上一個背景指令的PID

8. $_: 顯示出最後一個執(zhí)行的命令

熱詞搜索:

上一篇:Shell技巧匯總(1)
下一篇:VMware、Xen和Microsoft虛擬化技術(shù)解析

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
在线看国产一区二区| 日日摸夜夜添夜夜添精品视频| 青青草97国产精品免费观看 | 欧美国产日韩亚洲一区| 国产精品系列在线观看| 欧美韩国一区二区| 91麻豆swag| 午夜免费欧美电影| 欧美一区二区三区四区久久| 国产一区二区三区免费观看| 国产精品女同一区二区三区| 91视频一区二区| 香蕉久久一区二区不卡无毒影院| 欧美一区二区在线看| 国内精品免费**视频| 精品日韩欧美在线| 99综合影院在线| 性做久久久久久| 久久综合视频网| 国产精品自拍三区| 亚洲欧美在线另类| 3atv一区二区三区| 国产传媒欧美日韩成人| 一区二区三区日韩欧美精品| 51久久夜色精品国产麻豆| 激情深爱一区二区| 亚洲精品成a人| 欧美成人三级电影在线| 99久久久久久99| 蜜桃视频在线观看一区| 国产精品国产成人国产三级 | 国产福利91精品| 亚洲精品福利视频网站| 精品国产污污免费网站入口| 97久久超碰国产精品电影| 日韩va欧美va亚洲va久久| 中文幕一区二区三区久久蜜桃| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩va亚洲va欧美va久久| 91麻豆精品久久久久蜜臀| 久久99精品久久久久久动态图| 国产女主播一区| 欧美高清视频在线高清观看mv色露露十八 | 国产米奇在线777精品观看| 国产精品电影院| 日韩欧美专区在线| 在线观看国产91| 丰满少妇久久久久久久| 青青草国产精品亚洲专区无| 一区二区久久久久| 国产精品女主播在线观看| 欧美白人最猛性xxxxx69交| 欧洲精品在线观看| 不卡视频免费播放| 国产精品一区久久久久| 蜜臀av一区二区三区| 亚洲国产精品一区二区尤物区| 最新中文字幕一区二区三区| 久久99精品国产麻豆婷婷洗澡| 亚洲免费在线看| 欧美一级淫片007| 欧美视频一区二区三区四区| 国产.欧美.日韩| 乱一区二区av| 亚洲一区二区三区在线播放| 亚洲图片另类小说| 国产精品美女久久久久aⅴ| 久久久精品影视| 精品国产一区a| 欧美成人vr18sexvr| 91免费版在线看| 色老汉一区二区三区| 99精品视频在线观看免费| 99久久精品99国产精品| 97国产一区二区| 99久久伊人久久99| 波多野结衣亚洲| 色诱亚洲精品久久久久久| 91在线观看地址| 欧美专区在线观看一区| 欧洲一区二区三区免费视频| 色综合天天在线| 91免费版pro下载短视频| www.亚洲国产| 色婷婷综合久久久中文一区二区 | 一级女性全黄久久生活片免费| 中文字幕中文字幕一区| 日本一区二区视频在线| 国产精品福利一区| 久久精品久久99精品久久| 国产日本欧洲亚洲| 欧美精品一区二区蜜臀亚洲| 精品国产1区2区3区| 精品久久久久av影院| 久久奇米777| 中文字幕一区av| 一区二区成人在线视频 | 亚洲同性gay激情无套| 亚洲裸体xxx| 亚洲成人av在线电影| 久久99国产精品麻豆| 日本aⅴ亚洲精品中文乱码| 亚洲精品大片www| 日韩av不卡一区二区| 免播放器亚洲一区| 成人久久久精品乱码一区二区三区| 不卡的电影网站| 欧美日韩不卡一区二区| 久久嫩草精品久久久精品| 国产精品久久久久久亚洲伦| 亚洲一区二区三区视频在线| 久久aⅴ国产欧美74aaa| 成人教育av在线| 欧美伦理视频网站| 欧美高清在线视频| 亚洲最新视频在线播放| 久久国产精品色| 91网址在线看| 欧美xxxx老人做受| 亚洲免费在线电影| 日本在线观看不卡视频| 成人黄色免费短视频| 欧美人与性动xxxx| 国产精品美女www爽爽爽| 琪琪一区二区三区| 91视频国产资源| 久久久噜噜噜久噜久久综合| 亚洲第一福利视频在线| 国产一区二区影院| 欧美日高清视频| 国产精品久久久久久久久搜平片 | 亚洲色图视频网| 免费不卡在线观看| 日本韩国欧美一区二区三区| 精品福利二区三区| 亚洲国产美女搞黄色| av一区二区不卡| 精品福利一二区| 日韩激情一二三区| 色中色一区二区| 欧美国产视频在线| 成人美女视频在线观看18| 欧美三级韩国三级日本一级| 国产精品国产三级国产普通话99 | 国产天堂亚洲国产碰碰| 肉丝袜脚交视频一区二区| 色婷婷精品大视频在线蜜桃视频| 国产婷婷精品av在线| 精品综合久久久久久8888| 777a∨成人精品桃花网| 亚洲国产日韩精品| 91精品福利在线| 亚洲免费av高清| 99r精品视频| 国产精品嫩草99a| 国产在线精品免费| 精品欧美一区二区在线观看| 日韩av在线播放中文字幕| 欧美视频一区二区| 亚洲一二三四在线| 欧美日韩一区二区三区在线| 一级日本不卡的影视| 91久久线看在观草草青青| 亚洲美女在线一区| 色哦色哦哦色天天综合| 亚洲乱码国产乱码精品精的特点 | 久久精品二区亚洲w码| 欧美人伦禁忌dvd放荡欲情| 亚洲国产精品久久久久婷婷884| 色综合网色综合| 亚洲午夜一区二区三区| 欧美亚洲国产一区二区三区| 亚洲妇女屁股眼交7| 欧美亚洲一区二区在线| 亚洲一区电影777| 69久久夜色精品国产69蝌蚪网| 午夜精品在线视频一区| 91精品麻豆日日躁夜夜躁| 免费成人结看片| 亚洲精品一区二区三区精华液| 国产在线观看免费一区| 国产日产欧美精品一区二区三区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品国产一区二区三区久久久蜜月| 国产最新精品免费| 久久精品这里都是精品| 国产成人精品免费看| 中文字幕永久在线不卡| 91国产丝袜在线播放| 日韩国产成人精品| 337p粉嫩大胆色噜噜噜噜亚洲 | 在线观看欧美日本| 日韩精品成人一区二区在线| 久久午夜羞羞影院免费观看| 成人高清av在线| 亚洲aaa精品| 久久久久久亚洲综合影院红桃| av电影在线观看完整版一区二区| 亚洲国产精品一区二区久久 | 另类小说视频一区二区|