首頁 > 後端開發 > Golang > 為什麼透過 Go 的 `os` 套件設定的環境變數不保留在終端會話中?

為什麼透過 Go 的 `os` 套件設定的環境變數不保留在終端會話中?

Linda Hamilton
發布: 2024-11-29 12:56:14
原創
977 人瀏覽過

Why Don't Environment Variables Set via Go's `os` Package Persist in the Terminal Session?

透過「os」套件設定後,環境變數在終端會話中持久化

問題:
使用「設定環境變數後Go程式中的「os」包,在目前終端中仍無法存取session.

詳細資訊:
使用os.Setenv("FOO", "BAR") 設定環境變數的Go 程式允許使用fmt.Println 在程式中列印變數(os.Getenv("FOO")),但在終端機中使用echo $FOO查詢時變數仍然不存在

答案:
新進程繼承其父進程的環境。在給定的場景下,在Go程式中設定環境變數不會改變終端會話的環境。可以使用多種方法來實現,包括:

使用exec.Command 函數在修改後的環境下執行shell。執行

透過採用其中一種方法,您可以確保Go程式中設定的環境變數在終端會話中可用。

以上是為什麼透過 Go 的 `os` 套件設定的環境變數不保留在終端會話中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板