문제:
" Go 프로그램의 os" 패키지는 현재 터미널에서 액세스할 수 없는 상태로 유지됩니다. session.
세부 정보:
os.Setenv("FOO", "BAR")를 사용하여 환경 변수를 설정하는 Go 프로그램을 사용하면 fmt.Println을 사용하여 프로그램 내에서 변수를 인쇄할 수 있습니다. (os.Getenv("FOO")), 그러나 터미널에서 echo $FOO를 사용하여 쿼리하면 변수가 없는 상태로 유지됩니다. 세션.
답변:
새 프로세스는 상위 프로세스의 환경을 상속합니다. 하위 프로세스 내의 환경을 수정해도 상위 프로세스의 환경에는 영향을 주지 않습니다. 결과적으로 주어진 시나리오에서는 Go 프로그램에서 환경 변수를 설정해도 터미널 세션의 환경이 변경되지 않습니다.
해결책:
환경 변수를 터미널 세션을 사용하려면 환경을 수정한 후 셸을 시작해야 합니다. 이 솔루션은 다음을 포함한 다양한 접근 방식을 사용하여 구현할 수 있습니다.
이러한 접근 방식 중 하나를 채택하면 Go 프로그램 내에 설정된 환경 변수를 터미널 세션에서 사용할 수 있도록 할 수 있습니다.
위 내용은 Go\의 `os` 패키지를 통해 설정된 환경 변수가 터미널 세션에서 지속되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!