主頁(yè) > 知識(shí)庫(kù) > Shell中set與shopt命令選項(xiàng)的含義和使用示例

Shell中set與shopt命令選項(xiàng)的含義和使用示例

熱門(mén)標(biāo)簽:申請(qǐng)400電話有什么用 網(wǎng)絡(luò)電話外呼系統(tǒng)撥號(hào)軟件 汨羅代理外呼系統(tǒng) 400電話申請(qǐng)找 電銷機(jī)器人加盟多少錢(qián) 4層電梯外呼控制系統(tǒng)設(shè)計(jì) 天津智能外呼系統(tǒng)排名 宿松高德地圖標(biāo)注 貴陽(yáng)400電話到哪里去辦理

前言

本文主要給大家介紹了關(guān)于Shell中set與shopt命令選項(xiàng)含義與使用的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

set命令選項(xiàng)

set命令作用主要是顯示系統(tǒng)中已經(jīng)存在的shell變量,以及設(shè)置shell變量的新變量值。使用set更改shell特性時(shí),符號(hào)"+"和"-"的作用分別是打開(kāi)和關(guān)閉指定的模式。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使用declare命令以變量名=值的格式進(jìn)行定義即可。

內(nèi)置set命令選項(xiàng)

選項(xiàng)名 快捷開(kāi)關(guān) 含義
allexport -a 從這個(gè)選項(xiàng)中被設(shè)置開(kāi)始就自動(dòng)標(biāo)明要輸出的新變量或修改過(guò)的變量,直至選項(xiàng)被復(fù)位
braceexpand -B 打開(kāi)花括號(hào)擴(kuò)展,它是一個(gè)默認(rèn)設(shè)置
emacs 使用emacs內(nèi)置編輯器進(jìn)行命令行編輯,是一個(gè)默認(rèn)設(shè)置
errexit -e 當(dāng)命令返回一個(gè)非零退出狀態(tài)(失?。r(shí)退出。讀取初始化文件時(shí)不設(shè)置
histexpand -H 執(zhí)行歷史替換時(shí)打開(kāi)!和!!擴(kuò)展,是一個(gè)默認(rèn)設(shè)置
history 打開(kāi)命令行歷史、默認(rèn)為打開(kāi)
ignoreeof 禁止用EOF(Ctrl+D)鍵退出shell。必須鍵入exit才能退出。等價(jià)于設(shè)置shell變量IGNOREEOF=10
keyword -k 將關(guān)鍵字參數(shù)放到命令的環(huán)境中
interactive-comments 對(duì)于交互式shell,把#符后面的文本作為注釋
monitor -m 設(shè)置作業(yè)控制
noclobber -C 防止文件在重定向時(shí)被重寫(xiě)
noexec -n 讀命令,但不執(zhí)行。用來(lái)檢查腳本的語(yǔ)法。交互式運(yùn)行時(shí)不開(kāi)啟
noglob -d 禁止用路徑名擴(kuò)展。即關(guān)閉通配符
notify -b 后臺(tái)作業(yè)完成時(shí)通知用戶
nounset -u 擴(kuò)展一個(gè)未設(shè)置的變量時(shí)顯示一個(gè)錯(cuò)誤信息
onecmd -t 在讀取和執(zhí)行命令后退出
physical -P 設(shè)置時(shí),在鍵入cd或pwd禁止符號(hào)鏈接。用物理目錄代替
privileged -p 設(shè)置后,shell不讀取.profile或ENV文件,且不從環(huán)境繼承shell函數(shù),將自動(dòng)為setuid腳本開(kāi)啟特權(quán)
verbose -v 為調(diào)試打開(kāi)verbose模式
vi 使用vi內(nèi)置編輯器進(jìn)行命令行編輯
xtrace -x 為調(diào)試打開(kāi)echo模式

shopt命令選項(xiàng)

shopt命令是set命令的一種替代,很多方面都和set命令一樣,但它增加了很多選項(xiàng)??捎惺褂谩?p”選項(xiàng)來(lái)查看shopt選項(xiàng)的設(shè)置?!?u”開(kāi)關(guān)表示一個(gè)復(fù)位的選項(xiàng),“-s”表示選項(xiàng)當(dāng)前被設(shè)置。

shopt命令參數(shù)用法

選項(xiàng) 含義
cdable_vars 如果給cd內(nèi)置命令的參數(shù)不是一個(gè)目錄,就假設(shè)它是一個(gè)變量名,變量的值是將要轉(zhuǎn)換到的目錄
cdspell 糾正cd命令中目錄名的較小拼寫(xiě)錯(cuò)誤.檢查的錯(cuò)誤包括顛倒順序的字符,遺漏的字符以及重復(fù)的字符.如果找到一處需修改之處,正確的路徑將打印出,命令將繼續(xù).只用于交互式shell
checkhash bash在試圖執(zhí)行一個(gè)命令前,先在哈希表中尋找,以確定命令是否存在.如果命令不存在,就執(zhí)行正常的路徑搜索
checkwinsize bash在每個(gè)命令后檢查窗口大小,如果有必要,就更新LINES和COLUMNS的值
cmdhist bash試圖將一個(gè)多行命令的所有行保存在同一個(gè)歷史項(xiàng)中.這是的多行命令的重新編輯更方便
dotglob Bash在文件名擴(kuò)展的結(jié)果中包括以點(diǎn)(.)開(kāi)頭的文件名
execfail 如果一個(gè)非交互式shell不能執(zhí)行指定給exec內(nèi)置命令作為參數(shù)的文件,它不會(huì)退出.如果exec失敗,一個(gè)交互式shell不會(huì)退出
expand_aliases 別名被擴(kuò)展.缺省為打開(kāi)
extglob 打開(kāi)擴(kuò)展的模式匹配特性(正常的表達(dá)式元字符來(lái)自Korn shell的文件名擴(kuò)展)
histappend 如果readline正被使用,用戶有機(jī)會(huì)重新編輯一個(gè)失敗的歷史替換
histverify 如果設(shè)置,且readline正被使用,歷史替換的結(jié)果不會(huì)立即傳遞給shell解釋器.而是將結(jié)果行裝入readline編輯緩沖區(qū)中,允許進(jìn)一步修改
hostcomplete 如果設(shè)置,且readline正被使用,當(dāng)正在完成一個(gè)包含@的詞時(shí)bash將試圖執(zhí)行主機(jī)名補(bǔ)全.缺省為打開(kāi)
huponexit 如果設(shè)置,當(dāng)一個(gè)交互式登錄shell退出時(shí),bash將發(fā)送一個(gè)SIGHUP(掛起信號(hào))給所有的作業(yè)
interactive_comments 在一個(gè)交互式shell中.允許以#開(kāi)頭的詞以及同一行中其他的字符被忽略.缺省為打開(kāi)
lithist 如果打開(kāi),且cmdhist選項(xiàng)也打開(kāi),多行命令講用嵌入的換行符保存到歷史中,而無(wú)需在可能的地方用分號(hào)來(lái)分隔
mailwarn 如果設(shè)置,且bash用來(lái)檢查郵件的文件自從上次檢查后已經(jīng)被訪問(wèn),將顯示消息”The mail in mailfile has been read”
nocaseglob 如果設(shè)置,當(dāng)執(zhí)行文件名擴(kuò)展時(shí),bash在不區(qū)分大小寫(xiě)的方式下匹配文件名
nullglob 如果設(shè)置,bash允許沒(méi)有匹配任何文件的文件名模式擴(kuò)展成一個(gè)空串,而不是他們本身
promptvars 如果設(shè)置,提示串在被擴(kuò)展后再進(jìn)行變量和參量擴(kuò)展.缺省為打開(kāi)
restricted_shell 如果shell在受限模式下啟動(dòng)就設(shè)置這個(gè)選項(xiàng).該值不能被改變.當(dāng)執(zhí)行啟動(dòng)文件時(shí)不能復(fù)位該選項(xiàng),允許啟動(dòng)文件發(fā)現(xiàn)shell是否受限
shift_verbose 如果該選項(xiàng)設(shè)置,當(dāng)移動(dòng)計(jì)數(shù)超出位置參量個(gè)數(shù)時(shí),shift內(nèi)置命令將打印一個(gè)錯(cuò)誤消息
sourcepath 如果設(shè)置,source內(nèi)置命令使用PATH的值來(lái)尋找作為參數(shù)提供的文件的目錄.缺省為打開(kāi)
source 點(diǎn)(.)的同義詞
 

刪除目錄下除了filename之外的所有文件

下來(lái)列出了不同的擴(kuò)展模式匹配操作符,這些模式列表是一個(gè)用 | 分割包含一個(gè)或者多個(gè)文件名的列表:

通配符 含義
*(模式列表) 匹配 0 個(gè)或者多個(gè)出現(xiàn)的指定模式
?(模式列表) 匹配 0 個(gè)或者 1 個(gè)出現(xiàn)的指定模式
@(模式列表) 匹配 1 個(gè)或者多個(gè)出現(xiàn)的指定模式
!(模式列表) 匹配除了一個(gè)指定模式之外的任何內(nèi)容

打開(kāi)extglob shell選項(xiàng)

shopt -s extglob

刪除目錄下除了filename之外的所有文件

rm -v !("filename")

刪除除了filename1和filename2之外的所有文件

rm -v !("filename1"|"filename2")

刪除除了 .zip 之外的所有文件

rm -i !(*.zip)

關(guān)閉extglob shell選項(xiàng)

shopt -u extglob

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • shell中set指令的用法詳解

標(biāo)簽:廣東 贛州 撫州 海北 烏蘭察布 連云港 昌都 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell中set與shopt命令選項(xiàng)的含義和使用示例》,本文關(guān)鍵詞  Shell,中,set,與,shopt,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell中set與shopt命令選項(xiàng)的含義和使用示例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell中set與shopt命令選項(xiàng)的含義和使用示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章