前言
產品的最終用戶通常不懂技術,所以不管你怎么折騰產品代碼都無所謂。但腳本代碼不一樣,它們是開發人員寫給開發人員的。
有多少次,你運行./script.sh,然后輸出一些東西,但卻不知道它剛剛都做了些什么。這是一種很糟糕的腳本用戶體驗。我將在這篇文章中介紹如何寫出具有良好開發者體驗的 shell 腳本。
產品的最終用戶通常不懂技術,所以不管你怎么折騰產品代碼都無所謂。但腳本代碼不一樣,它們是開發人員寫給開發人員的。
這樣會導致一些問題:
所以,我們可以通過一些方法來為自己和別人寫出更好的 shell 腳本。這里給出的所有示例都可以使用與 POSIX 標準兼容的 shell 運行(#!/bin/sh),因為它是最常用的。嫌文章太長了可以只看以下總結部分:
有時間的話可以接著往下看具體內容:
提供--help標記
安裝在系統上的二進制文件通常帶有man幫助文檔,但對于腳本來說就不一定了。因此我們通常需要為腳本提供-h或--help標記來打印有關如何使用腳本的信息。如果其他工程師需要修改腳本,這也可以作為腳本的內聯文檔:
#!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help.../n'; exit 0;fi;這段腳本先計算參數長度(${#@} -ne 0),只有當參數長度不為零時才會檢查--help標記。下一個條件會檢查參數中是否存在字符串“--help” 。第一個條件是必需的,如果參數長度為零則不需要打印幫助信息。
檢查所有命令的可用性
腳本通常會調用其他腳本或二進制文件。在調用可能不存在的命令時,請先檢查它們是否可用。可以使用“command -v 二進制文件名稱”來執行此操作,看看它的退出代碼是否為零。如果命令不可用,可以告訴用戶應該如何獲得這個二進制文件:
新聞熱點
疑難解答