shell中set設(shè)置-e和 -x的用法
set -x
在執(zhí)行之前打印shell命令。此功能可幫助程序員跟蹤其Shell腳本。 設(shè)置-x選項(xiàng)后,之后執(zhí)行的每一條命令,都會(huì)顯示的打印出來; 在命令之前輸出一個(gè)+號(hào),并打印出替換變量后的命令內(nèi)容; 可以分析腳本中但前正在執(zhí)行什么命令。 如下圖所示
set -e
如果一個(gè)命令的返回碼不為0,并且調(diào)用者未對(duì)其進(jìn)行檢查,則shell腳本將退出。此功能使Shell腳本更強(qiáng)大。
set -e并set -x經(jīng)常出現(xiàn)在shell腳本的開頭:
shell選項(xiàng)既可以添加在腳本中,也可以在執(zhí)行腳本時(shí)指定此選項(xiàng)。
補(bǔ)充:shell中set命令
set命令作用主要是顯示系統(tǒng)中已經(jīng)存在的shell變量,以及設(shè)置shell變量的新變量值。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使用declare命令以變量名=值的格式進(jìn)行定義即可。
-a:標(biāo)示已修改的變量,以供輸出至環(huán)境變量。
-b:使被中止的后臺(tái)程序立刻回報(bào)執(zhí)行狀態(tài)。
-C:轉(zhuǎn)向所產(chǎn)生的文件無法覆蓋已存在的文件。
-d:Shell預(yù)設(shè)會(huì)用雜湊表記憶使用過的指令,以加速指令的執(zhí)行。使用-d參數(shù)可取消。
-e:若指令傳回值不等于0,則立即退出shell。
-f:取消使用通配符。 -h:自動(dòng)記錄函數(shù)的所在位置。
-H Shell:可利用"!"加<指令編號(hào)>的方式來執(zhí)行history中記錄的指令。
-k:指令所給的參數(shù)都會(huì)被視為此指令的環(huán)境變量。
-l:記錄for循環(huán)的變量名稱。
-m:使用監(jiān)視模式。
-n:只讀取指令,而不實(shí)際執(zhí)行。
-p:啟動(dòng)優(yōu)先順序模式。
-P:啟動(dòng)-P參數(shù)后,執(zhí)行指令時(shí),會(huì)以實(shí)際的文件或目錄來取代符號(hào)連接。 -t:執(zhí)行完隨后的指令,即退出shell。
-u:當(dāng)執(zhí)行時(shí)使用到未定義過的變量,則顯示錯(cuò)誤信息。
-v:顯示shell所讀取的輸入值。
-x:執(zhí)行指令后,會(huì)先顯示該指令及所下的參數(shù)。
到此這篇關(guān)于shell中set設(shè)置-e和 -x的用法的文章就介紹到這了,更多相關(guān)shell set -e和 -x內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux shell之pushd、popd和dirs的使用講解
今天小編就為大家分享一篇關(guān)于linux shell之pushd、popd和dirs的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04Linux Shell 自動(dòng)交互功能實(shí)現(xiàn)
本文主要介紹了Linux Shell 自動(dòng)交互功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08如何實(shí)現(xiàn)ls命令在Win7下正常運(yùn)行
ls命令是Linux系統(tǒng)下最常用的命令之一,使用ls指令可列出目錄中的內(nèi)容,包括文件和子目錄的名稱,下面通過本文給大家分享如何實(shí)現(xiàn)ls命令在Win7下正常運(yùn)行,需要的朋友參考下吧2018-03-03Linux在shell中自動(dòng)生成1到100的數(shù)組方法(兩種方法)
之前自己在寫shell腳本的時(shí)候,需要自動(dòng)創(chuàng)建1-100的文本確不知道該如何去創(chuàng)建。今天小編給大家分享兩種方法,需要的朋友參考下2017-02-02完美解決Linux搭建sftp出現(xiàn)Write failed:Broken pipe的問題
下面小編就為大家?guī)硪黄昝澜鉀QLinux搭建sftp出現(xiàn)Write failed:Broken pipe的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Linux C中sockaddr和sockaddr_in的區(qū)別
這篇文章主要介紹了Linux C中sockaddr和sockaddr_in的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07