国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

十三個寫好shell腳本的技巧分享

2019-10-26 18:57:09
字體:
來源:轉載
供稿:網友

前言

產品的最終用戶通常不懂技術,所以不管你怎么折騰產品代碼都無所謂。但腳本代碼不一樣,它們是開發人員寫給開發人員的。

有多少次,你運行./script.sh,然后輸出一些東西,但卻不知道它剛剛都做了些什么。這是一種很糟糕的腳本用戶體驗。我將在這篇文章中介紹如何寫出具有良好開發者體驗的 shell 腳本。

產品的最終用戶通常不懂技術,所以不管你怎么折騰產品代碼都無所謂。但腳本代碼不一樣,它們是開發人員寫給開發人員的。

這樣會導致一些問題:

混亂的腳本——我知道,我們都是工程師,讀得懂代碼,但即使這樣,也請為我們這些對 Shell 腳本不是很熟練的人考慮一下(我們在寫代碼時也會為你們考慮的)。 滿屏的日志和錯誤輸出——就算我們也是工程師,并不代表我們了解你所做的一切。 弄得一團糟卻沒有做好清理工作——是的,我們可以順著你的腳本手動撤銷變更,但你真的會讓那些信任你的腳本的人這么做嗎?

所以,我們可以通過一些方法來為自己和別人寫出更好的 shell 腳本。這里給出的所有示例都可以使用與 POSIX 標準兼容的 shell 運行(#!/bin/sh),因為它是最常用的。嫌文章太長了可以只看以下總結部分:

提供--help標記 檢查所有命令的可用性 獨立于當前工作目錄 如何讀取輸入:環境變量 vs. 標記 打印對系統執行的所有操作 如果有必要,提供--silent選項 重新開啟顯示 用動畫的方式顯示進度 用顏色編碼輸出 出現錯誤立即退出腳本 自己執行清理工作 在退出時使用不同的錯誤碼 在結束時打印一個新行

有時間的話可以接著往下看具體內容:

提供--help標記

安裝在系統上的二進制文件通常帶有man幫助文檔,但對于腳本來說就不一定了。因此我們通常需要為腳本提供-h或--help標記來打印有關如何使用腳本的信息。如果其他工程師需要修改腳本,這也可以作為腳本的內聯文檔:

#!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help.../n'; exit 0;fi;

這段腳本先計算參數長度(${#@} -ne 0),只有當參數長度不為零時才會檢查--help標記。下一個條件會檢查參數中是否存在字符串“--help” 。第一個條件是必需的,如果參數長度為零則不需要打印幫助信息。

檢查所有命令的可用性

腳本通常會調用其他腳本或二進制文件。在調用可能不存在的命令時,請先檢查它們是否可用。可以使用“command -v 二進制文件名稱”來執行此操作,看看它的退出代碼是否為零。如果命令不可用,可以告訴用戶應該如何獲得這個二進制文件:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高平市| 舒城县| 克拉玛依市| 淮南市| 石台县| 衡山县| 正镶白旗| 乌拉特后旗| 通榆县| 枣阳市| 双辽市| 清水县| 阿合奇县| 商南县| 卫辉市| 高安市| 凌云县| 赤城县| 驻马店市| 郧西县| 临洮县| 玉屏| 乌兰县| 巴马| 平阳县| 东明县| 闻喜县| 桦甸市| 徐州市| 台州市| 威远县| 信阳市| 北海市| 金寨县| 霍邱县| 鄂伦春自治旗| 新乡市| 浙江省| 福泉市| 道真| 漠河县|