從Go 中的Shell 指令擷取即時輸出
問題:
問題:你要
你想要執行Go 中的shell命令可能需要時間並檢索其實時輸出以進行處理並顯示為進度解決方案:
1.使用os/exec 執行Shell 命令:
使用exec.Command 建立指令來執行所需的shell 指令。2.捕獲標準錯誤 (stderr) 輸出:
預設情況下,來自 shell 命令的診斷訊息將發送到 stderr 而不是 stdout。使用 cmd.StderrPipe() 捕捉 stderr 流。3.建立一個掃描器來讀取輸出:
使用 bufio.NewScanner 建立一個讀取 stderr 流的掃描器。使用 bufio.ScanWords 將掃描拆分為單字以獲得單獨的輸出行。4.處理與顯示輸出:
在循環內,使用scanner.Scan() 方法擷取每個輸出行。對其進行處理以提取所需的信息,例如進度比。然後,顯示處理後的輸出。 5.範例程式碼:以下範例程式碼示範如何執行此動作:透過執行下列步驟,您可以擷取shell 命令和進程的即時輸出它用於顯示進度資訊或任何其他所需資訊。以上是如何在 Go 中擷取 Shell 指令的即時輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!