linux shell set命令詳解
linux shell set命令詳解
set命令是linux下的一個(gè)命令,那么這個(gè)命令到底有什么用處呢?下面由學(xué)習(xí)啦小編為大家整理了set命令的相關(guān)知識(shí),希望大家喜歡!
linux shell set命令
基本說(shuō)明
用set命令可以設(shè)置各種shell選項(xiàng)或者列出shell變量.單個(gè)選項(xiàng)設(shè)置常用的特性.在某些選項(xiàng)之后-o參數(shù)將特殊特性打開(kāi).在某些選項(xiàng)之后使用+o參數(shù)將關(guān)閉某些特性,不帶任何參數(shù)的set命令將顯示shell的全部變量.除非遇到非法的選項(xiàng),否則set總是返回ture.
當(dāng)shell被調(diào)用時(shí),可以列出全部的選項(xiàng).當(dāng)前的選項(xiàng)集列在$-中.在option參數(shù)被處理后,其他的參數(shù)被賦值到位置參數(shù)中( class="main">
linux shell set命令詳解
set命令是linux下的一個(gè)命令,那么這個(gè)命令到底有什么用處呢?下面由學(xué)習(xí)啦小編為大家整理了set命令的相關(guān)知識(shí),希望大家喜歡!
linux shell set命令
基本說(shuō)明
用set命令可以設(shè)置各種shell選項(xiàng)或者列出shell變量.單個(gè)選項(xiàng)設(shè)置常用的特性.在某些選項(xiàng)之后-o參數(shù)將特殊特性打開(kāi).在某些選項(xiàng)之后使用+o參數(shù)將關(guān)閉某些特性,不帶任何參數(shù)的set命令將顯示shell的全部變量.除非遇到非法的選項(xiàng),否則set總是返回ture.
當(dāng)shell被調(diào)用時(shí),可以列出全部的選項(xiàng).當(dāng)前的選項(xiàng)集列在$-中.在option參數(shù)被處理后,其他的參數(shù)被賦值到位置參數(shù)中($1,$2,...,$n)
set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]
選項(xiàng)說(shuō)明
-a 自動(dòng)向已經(jīng)修改的變量或?yàn)閷?dǎo)出后序命令的變量作出標(biāo)志
-b 不是在原提示符之前,而是立即引發(fā)終止后臺(tái)任務(wù)的狀態(tài)表表
-e 如果命令帶非零值返回,立即退出
-f 禁止帶擴(kuò)展名的路徑
-h 定義函數(shù)時(shí),定位和存儲(chǔ)函數(shù)命令,當(dāng)函數(shù)被執(zhí)行時(shí),通常查詢函數(shù)命令
-k 所有的關(guān)鍵詞參數(shù),而不只是那些命令名前的關(guān)鍵詞參數(shù),被放在環(huán)境命令中
-m 監(jiān)視器模式,啟動(dòng)任務(wù)控制.此選項(xiàng)默認(rèn)支持系統(tǒng)shell交互.后臺(tái)進(jìn)程以單獨(dú)的進(jìn)程組運(yùn)行,在每次完成任務(wù)時(shí)顯示包含退出的狀態(tài)行
-n 讀取命令但不執(zhí)行命令.通常監(jiān)查shell腳本的句法錯(cuò)誤.交互shell被忽略
-o option-name 選項(xiàng)名可以是下列之一:
選項(xiàng)說(shuō)明
allexport 同-a選項(xiàng)
braceexpand shell執(zhí)行花括號(hào)擴(kuò)展,在默認(rèn)情況下起作用
emacs 使用emacs風(fēng)格命令行編輯接口.除非shell以-noline-editing選項(xiàng)啟動(dòng),否則當(dāng)shell交互時(shí),通過(guò)默認(rèn)啟動(dòng)該選項(xiàng)
errexit 同-e選項(xiàng)
histexpand 同-H選項(xiàng)
ignoreeof 其結(jié)果是好像shell命令I(lǐng)GNOREEOF=10被執(zhí)行
interactive 允許單詞前帶#號(hào),以使得在交互shell中忽略命令行的全部字符-commands
monitor 同-m選項(xiàng)
noclobber 同-C選項(xiàng)
noexec 同-n選項(xiàng)
noglob 同-f選項(xiàng)
nohash 同-d選項(xiàng)
notify 同-b選項(xiàng)
nounset 同-u選項(xiàng)
physical 同-p選項(xiàng)
posix 改變BASH屬性以匹配標(biāo)準(zhǔn),默認(rèn)操作不同于POSIX1003.2標(biāo)準(zhǔn)
verbose 同-v選項(xiàng)
vi 使用vi風(fēng)格的命令行編輯器
XTRACE 同-x選項(xiàng),如果沒(méi)有給出選項(xiàng)名,顯示當(dāng)前選項(xiàng)值
-p 打開(kāi)特權(quán)模式(在此模式,$ENV文件被處理,不能從環(huán)境中繼承
shell函數(shù).如果是有效用戶ID而不是實(shí)用戶組則自動(dòng)啟動(dòng).關(guān)閉此選項(xiàng)將使得有效用戶和組IDs設(shè)置實(shí)用戶和組IDs)
-t 在讀取命令并執(zhí)行之后退出
-u 當(dāng)執(zhí)行參數(shù)括展時(shí),把非設(shè)置變量作為錯(cuò)誤處理(如果擴(kuò)展企圖出現(xiàn)在非設(shè)置變量中,shell顯示錯(cuò)誤信息.如果不是交互式,則帶非凌值退出)
-v 輸入行被讀取時(shí),顯示shell輸入行
-x 在每個(gè)簡(jiǎn)單命令被擴(kuò)展之后,顯示PS4擴(kuò)展值,之后是要執(zhí)行的命令
-l 保存和恢復(fù)綁定在命令中的名稱
-d 禁止執(zhí)行查找散列命令(通常,命令被保存在散列表中,一旦被找到就不再繼續(xù)查找)
-C 效果好像是執(zhí)行了noclobber=shell命令
-H 使用!風(fēng)格的歷史替代(當(dāng)shell交互時(shí),在默認(rèn)情況下,此選項(xiàng)有效)
-P 如果設(shè)置此參數(shù),當(dāng)執(zhí)行改變目錄命令cd時(shí),不遵循符號(hào)鏈接,而是使用實(shí)際的目錄
如果在選項(xiàng)后沒(méi)有參數(shù),不設(shè)置位置參數(shù).否則,即使一些參數(shù)以a選項(xiàng)開(kāi)始,也要把位置參數(shù)設(shè)置為argument- 結(jié)束選項(xiàng)的信號(hào),將引發(fā)其余的參數(shù)被賦值到位置參數(shù)中(-x和-v選項(xiàng)被關(guān)閉.如果沒(méi)有argument,位置參數(shù)將保留未改變的參數(shù))
,...,$n)set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]
選項(xiàng)說(shuō)明
-a 自動(dòng)向已經(jīng)修改的變量或?yàn)閷?dǎo)出后序命令的變量作出標(biāo)志
-b 不是在原提示符之前,而是立即引發(fā)終止后臺(tái)任務(wù)的狀態(tài)表表
-e 如果命令帶非零值返回,立即退出
-f 禁止帶擴(kuò)展名的路徑
-h 定義函數(shù)時(shí),定位和存儲(chǔ)函數(shù)命令,當(dāng)函數(shù)被執(zhí)行時(shí),通常查詢函數(shù)命令
-k 所有的關(guān)鍵詞參數(shù),而不只是那些命令名前的關(guān)鍵詞參數(shù),被放在環(huán)境命令中
-m 監(jiān)視器模式,啟動(dòng)任務(wù)控制.此選項(xiàng)默認(rèn)支持系統(tǒng)shell交互.后臺(tái)進(jìn)程以單獨(dú)的進(jìn)程組運(yùn)行,在每次完成任務(wù)時(shí)顯示包含退出的狀態(tài)行
-n 讀取命令但不執(zhí)行命令.通常監(jiān)查shell腳本的句法錯(cuò)誤.交互shell被忽略
-o option-name 選項(xiàng)名可以是下列之一:
選項(xiàng)說(shuō)明
allexport 同-a選項(xiàng)
braceexpand shell執(zhí)行花括號(hào)擴(kuò)展,在默認(rèn)情況下起作用
emacs 使用emacs風(fēng)格命令行編輯接口.除非shell以-noline-editing選項(xiàng)啟動(dòng),否則當(dāng)shell交互時(shí),通過(guò)默認(rèn)啟動(dòng)該選項(xiàng)
errexit 同-e選項(xiàng)
histexpand 同-H選項(xiàng)
ignoreeof 其結(jié)果是好像shell命令I(lǐng)GNOREEOF=10被執(zhí)行
interactive 允許單詞前帶#號(hào),以使得在交互shell中忽略命令行的全部字符-commands
monitor 同-m選項(xiàng)
noclobber 同-C選項(xiàng)
noexec 同-n選項(xiàng)
noglob 同-f選項(xiàng)
nohash 同-d選項(xiàng)
notify 同-b選項(xiàng)
nounset 同-u選項(xiàng)
physical 同-p選項(xiàng)
posix 改變BASH屬性以匹配標(biāo)準(zhǔn),默認(rèn)操作不同于POSIX1003.2標(biāo)準(zhǔn)
verbose 同-v選項(xiàng)
vi 使用vi風(fēng)格的命令行編輯器
XTRACE 同-x選項(xiàng),如果沒(méi)有給出選項(xiàng)名,顯示當(dāng)前選項(xiàng)值
-p 打開(kāi)特權(quán)模式(在此模式,$ENV文件被處理,不能從環(huán)境中繼承
shell函數(shù).如果是有效用戶ID而不是實(shí)用戶組則自動(dòng)啟動(dòng).關(guān)閉此選項(xiàng)將使得有效用戶和組IDs設(shè)置實(shí)用戶和組IDs)
-t 在讀取命令并執(zhí)行之后退出
-u 當(dāng)執(zhí)行參數(shù)括展時(shí),把非設(shè)置變量作為錯(cuò)誤處理(如果擴(kuò)展企圖出現(xiàn)在非設(shè)置變量中,shell顯示錯(cuò)誤信息.如果不是交互式,則帶非凌值退出)
-v 輸入行被讀取時(shí),顯示shell輸入行
-x 在每個(gè)簡(jiǎn)單命令被擴(kuò)展之后,顯示PS4擴(kuò)展值,之后是要執(zhí)行的命令
-l 保存和恢復(fù)綁定在命令中的名稱
-d 禁止執(zhí)行查找散列命令(通常,命令被保存在散列表中,一旦被找到就不再繼續(xù)查找)
-C 效果好像是執(zhí)行了noclobber=shell命令
-H 使用!風(fēng)格的歷史替代(當(dāng)shell交互時(shí),在默認(rèn)情況下,此選項(xiàng)有效)
-P 如果設(shè)置此參數(shù),當(dāng)執(zhí)行改變目錄命令cd時(shí),不遵循符號(hào)鏈接,而是使用實(shí)際的目錄
如果在選項(xiàng)后沒(méi)有參數(shù),不設(shè)置位置參數(shù).否則,即使一些參數(shù)以a選項(xiàng)開(kāi)始,也要把位置參數(shù)設(shè)置為argument- 結(jié)束選項(xiàng)的信號(hào),將引發(fā)其余的參數(shù)被賦值到位置參數(shù)中(-x和-v選項(xiàng)被關(guān)閉.如果沒(méi)有argument,位置參數(shù)將保留未改變的參數(shù))