將環境變數傳遞給exec.Command
使用exec.Command 為命令列工具建立包裝器腳本時,您可能會遇到到情況您需要在命令執行過程中傳遞環境變數。在這種情況下,您正在使用 ansible-playbook 並需要使用參數 MY_VAR。
exec.Command 函數接受一個字串陣列作為其第一個參數,其中第一個元素表示要執行的命令執行。要傳遞環境變量,我們可以修改 Cmd 結構中的環境變數切片。
在您的情況下,您在使用 Cmd 結構的 Env 欄位時面臨覆蓋所有環境變數的問題。為了解決這個問題,您可以將所需的環境變數附加到現有的os.Environ() 清單中:
cmd := exec.Command("ansible-playbook", args...) cmd.Env = os.Environ() cmd.Env = append(cmd.Env, "MY_VAR=some_value")
此方法將保留現有的環境變量,同時將特定的MY_VAR環境變數設定為您想要的值。透過將本機 os.Environ() 函數與附加附加環境變數的功能結合,您可以使用 exec.Command 有效地將環境變數傳遞到命令執行。
以上是如何在 Go 中將環境變數傳遞給 `exec.Command`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!