国产探花免费观看_亚洲丰满少妇自慰呻吟_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 二進制文件名稱”來執行此操作,看看它的退出代碼是否為零。如果命令不可用,可以告訴用戶應該如何獲得這個二進制文件:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巧家县| 盐池县| 宜春市| 扶绥县| 西平县| 洛南县| 和硕县| 肥西县| 郎溪县| 英吉沙县| 巴彦淖尔市| 西宁市| 固原市| 团风县| 闽清县| 越西县| 利津县| 科技| 慈利县| 马边| 鸡西市| 玛多县| 萝北县| 林甸县| 同江市| 灵璧县| 阳山县| 安新县| 屯门区| 额敏县| 苏尼特左旗| 左权县| 都江堰市| 亚东县| 开封县| 罗江县| 凤山市| 宜兰县| 喀什市| 德令哈市| 满洲里市|