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 중국어 웹사이트의 기타 관련 기사를 참조하세요!