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:?jiǎn)?dòng)優(yōu)先順序模式。
-P:?jiǎn)?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)文章
shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能
這篇文章主要介紹了shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11一天一個(gè)shell命令 linux文本內(nèi)容操作系列-awk命令詳解
awk是一個(gè)強(qiáng)大的文本分析工具,相對(duì)于grep的查找,sed的編輯,awk在其對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。簡(jiǎn)單來說awk就是把文件逐行的讀入,以空格為默認(rèn)分隔符將每行切片,切開的部分再進(jìn)行各種分析處理2016-06-06Linux下shell通用腳本啟動(dòng)jar(微服務(wù))
這篇文章主要介紹了Linux下shell通用腳本啟動(dòng)jar(微服務(wù))的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10