cli(命令列介面)實用程式是linux下應用開發的基礎。正確的編寫命令列程式讓應用與作業系統融為一體,通過shell或指令碼來獲得最大的擴充套件與開發效率。linux提供了cat ,ls,copy等命令與作業系統互動; go語言提供單個實用程式完成從編碼,編譯,庫管理,產品發布全過程支援;容器服務如docker,k8s提供實用程式支援雲服務的開發,部署,監控,訪問等管理任務; git,npm等都是大家比較熟悉的工具。儘管作業系統與應用系統服務視覺化,圖形化,但在開發領域,cli在程式設計,除錯,運維,管理中提供了圖形化程式不可替代的附加與效率。
使用golang開發開發linux命令列實用程式中的selpg.
selpg這個命令列應用是乙個通過指定頁來讀取輸入的文字的程式,這些輸入文字可以來自檔案或者是另乙個程序。
由於這次所要完成的程式是乙個命令列程式,遵循命令列程式的基本執行順序,基本的執行邏輯就是
在執行這一系列的操作過程中,都需要對各種情況進行錯誤丟擲並進行報錯,進而終止流程。
乙個命令列程式要遵守五個準則:準則 1. 輸入。準則 2. 輸出。準則 3. 錯誤輸出。準則 4. 執行。準則 5. 命令列引數
由於沒有錯誤**所以error_file中沒有資訊。
selpg 將第 10 頁到第 20 頁寫至標準輸出,標準輸出被重定向至「output_file」;selpg 寫至標準錯誤的所有內容都被重定向至 /dev/null(空裝置),這意味著錯誤訊息被丟棄了。裝置檔案 /dev/null 廢棄所有寫至它的輸出,當從該裝置檔案讀取時,會立即返回 eof。
輸出結果與上圖相同。
7、selpg -s10 -e20 input_file >/dev/null
selpg 將第 10 頁到第 20 頁寫至標準輸出,標準輸出被丟棄;錯誤訊息在螢幕出現。這可作為測試 selpg 的用途,此時您也許只想(對一些測試情況)檢查錯誤訊息,而不想看到正常輸出。
可以看到無錯誤資訊顯示。
程式的原始碼與測試檔案詳見github:
CLI 命令列實用程式開發基礎
傳送門,goonline平台 1.概述 cli command line inte ce 實用程式是linux下應用開發的基礎。正確的編寫命令列程式讓應用與作業系統融為一體,通過shell或script使得應用獲得最大的靈活性與開發效率。linux提供了cat ls copy等命令與作業系統互動 g...
CLI 命令列實用程式開發基礎
cli command line inte ce 實用程式是linux下應用開發的基礎。正確的編寫命令列程式讓應用與作業系統融為一體,通過shell或script使得應用獲得最大的靈活性與開發效率。linux提供了cat ls copy等命令與作業系統互動 go語言提供一組實用程式完成從編碼 編譯 ...
CLI 命令列實用程式開發基礎
程式說明 程式測試 go online位址 應該允許輸入來自以下兩種方式 command input file command command input file other command command command command output file command other com...