

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、LinuxShellgetopts是如何使的?、學(xué)習(xí)背景最近通過python實現(xiàn)了發(fā)送消息給企業(yè)微信的功能,參考鏈接:但是并不是每臺Linux服務(wù)器上都有合適的python版本,之前這個python腳本是運在Python 2環(huán)境下的,但是可能新的Linux服務(wù)器上裝的是Python 3 之類的,因此可能寫個Shell腳本更加通,因此我準(zhǔn)備來寫個Shell腳本來實現(xiàn)發(fā)送消息給企業(yè)微信。但是寫好的腳本都是需要傳參數(shù)的,因此學(xué)習(xí)下Shell命令參數(shù)解析具getopts是如何使的?其實上篇章中我已經(jīng)有描述了getopts的法,現(xiàn)在來學(xué)習(xí)下。之前有篇章介紹了、getopts 介紹2.1我們先來看看命令的
2、選項在Linux系統(tǒng)中,許多命令都提供了選項,使不同的選項就會得到不通的執(zhí)結(jié)果例如:ls命令,ls命令提供了多個選項:-l、-a、-A、-h、-i等等,每個選項具有不同的功能,如下所:-block-size=M prints sizes in units of1,048,576 bytes. See SIZE format below.-c-g -l,但不列出所有者-group-directories-first-dereference-command-line-symlink-to-dir跟隨命令列出的錄的符號鏈接-hide=PATTERNPATTERN模式的項file-type (-fil
3、e-type), classify (-F)-i, -inode-I, -ignore=PATTERN-k, -kibibytes use 1024-byte blocks-l 使較長格式列出信息print the index number of each filedo not list implied entries matching shell PATTERN-Q, -quote-nameenclose entry names in double quotestimeversion -vuse-u-t退出狀態(tài):0 正常1 般問題 ()2 嚴(yán)重問題 ()bug-coreutilsgnu.or
4、g ls 的錯誤2.2 使getopts實現(xiàn)定義腳本的定義選項我們寫腳本時也可以定義選項,提戶如何使,本介紹如何使getopts命令來處理命令選項。2.2.1getopts option: VARIABLEoption表為某個腳本可以使的選項“:”冒號(:)DESCPRITION如果某個選項(option)后出現(xiàn)了冒號(:),則表這個選項后可以接參數(shù)(即段描述信息DESCPRITION)VARIABLE表將某個選項保存在變量VARIABLE中g(shù)etopts是linux系統(tǒng)中的個內(nèi)置變量,般在循環(huán)中。每當(dāng)執(zhí)循環(huán)是,getopts都會檢查下個命令選項,如果這些選項出現(xiàn)在option中,則表是合法選
5、項,否則不是合法選項。并將這些合法選項保存在VARIABLE這個變量中。getopts還包含兩個內(nèi)置變量,及OPTARG和OPTINDOPTARG就是將選項后的參數(shù)(或者描述信息DESCPRITION)保存在這個變量當(dāng)中。OPTIND這個表命令的下個選項或參數(shù)的索引(件名不算選項或參數(shù))在詳細(xì)錯誤報告模式下:如果getopts檢測到個效的選項,var的值會被設(shè)置為(?);如果getopts檢測到個后需要跟參數(shù)的選項,后沒有參數(shù),var的值也會被設(shè)置為(?)在抑制錯誤報告模式下:如果getopts檢測到個效的選項,var的值會被設(shè)置為(?),變量OPTARG會被設(shè)置為這個效的選項;如果getop
6、ts檢測到個后需要跟參數(shù)的選項,后沒有參數(shù),var的值會被設(shè)置為(:),變量OPTARG會被設(shè)置為這個效的選項2.2.2,前只接受參數(shù),不實事!#法提echo qiyewechat.sh -u USER -t TITLE -c CONTENT -d DETAIL -p PICTURE# 獲取腳本執(zhí)時的選項while getopts u:t:c:d:p: optiondo) usage;esacecho $optionecho $OPTARGdone腳本接收不同的選項,對變量進(jìn)賦值,然后我們打印出選項和選項的值?!綾】選項的值被賦值給【CONTENT變量】【d】選項的值被賦值給【DETAIL變量
7、】【u】選項的值被賦值給【USER變量】【p】選項的值被賦值給【PICTURE變量】【h】選項的話,則調(diào)usage法打印法2.2.31、隨便輸個不存在選項rootubuntu116:/data/gitlabData/auto_back_shell # ./qiyewechat-notifier.sh -sjdadjsjdjsad./qiyewechat-notifier.sh: 法選項- sUsage:qiyewechat.sh -u -t TITLE -c CONTENT -d DETAIL -p PICTUREDescription:USER,.TITLE, .CONTENT, .DETAIL, .2、輸選項 -h./qiyewechat-notifier.sh: 法選項- hTITLE, .3、順序輸完整的正確的選項rootubuntu116:/data/gitlabData/auto_back_shell # ./qiyewechat-notifier.sh -u 00001 -t 標(biāo)題 -c “內(nèi)容” -d 詳情 -p “圖地址”u00001t標(biāo)題cdp4、隨便打亂順序填寫選項rootubuntu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度研學(xué)旅行教育咨詢與服務(wù)合作協(xié)議
- 2025年度私人珠寶抵押典當(dāng)貸款協(xié)議
- 2025年度新能源材料研究院校企合作協(xié)議書
- 二零二五年度商鋪租賃合同終止及商業(yè)設(shè)施維護(hù)協(xié)議
- 2025年度電力系統(tǒng)調(diào)試電力工程勞務(wù)承建合同
- 2025年度火鍋加盟店加盟費及利潤分配合同
- 二零二五年度變壓器運輸保險與安全協(xié)議
- 二零二五年度租賃房屋提前解除合同
- 二零二五年度科研機(jī)構(gòu)員工勞務(wù)派遣合作協(xié)議
- 2025年度生物制品簡易供貨合同
- 《鈉離子電池產(chǎn)業(yè)發(fā)展白皮書》
- 2025中考作文預(yù)測
- 油氣田開發(fā)專業(yè)危害因素辨識與風(fēng)險防控
- 假肢安裝合同范本
- DB37-T4824-2025 鄉(xiāng)鎮(zhèn)(街道)應(yīng)急物資配備指南
- 教育部人文社科 申請書
- 無菌手術(shù)臺鋪置的細(xì)節(jié)管理
- 《重大基礎(chǔ)設(shè)施項目涉及風(fēng)景名勝區(qū)選址論證報告編制技術(shù)規(guī)范》編制說明
- 議論文8(試題+審題+范文+點評+素材)-2025年高考語文寫作復(fù)習(xí)
- 2025年中國中煤能源股份有限公司招聘筆試參考題庫含答案解析
- 2025-2030年(全新版)中國軟冰淇淋市場發(fā)展趨勢與投資戰(zhàn)略研究報告
評論
0/150
提交評論