일부 작업에 대해 루트 액세스가 필요한 루비 스크립트를 실행하려고합니다. 나는 rvmsudo가 존재하고 그것을 사용한다는 것을 알고 있지만, TEST_ENV=1
과 같은 env var를 설정하고 싶다면 작동하지 않습니다.rvmsudo가있는 사용자 정의 env vars
예 :
rvmsudo ruby some_script_which_requires_root_access.rb
내가 스크립트를 디버깅하고 ENV
해시를 검토 할 때, 나는 TEST_ENV=1
var에 표시되지 않습니다. 나는 통해 VAR 수출 시도 :
export TEST_ENV=1
과 current_user
에 대한 .bash_profile
및 .bashrc
에, .rvmrc
에 넣고, 또한 .profile
및 루트 사용자의 .bashrc
에 있지만 작동하지 않습니다.
내 질문에, rvmsudo
으로 스크립트를 실행할 때 ENV
루비 해시의 일부가되도록이 코드를 정의하거나 내보내려면 어디에서 작성해야합니까? ?
-E 옵션 설명서에서 " 일치하는 명령에 SETENV 태그가 있거나 sueners (5)에 setenv 옵션이 설정된 경우에만 사용할 수 있습니다."라는 메시지가 표시됩니다. –
/etc/sudoers에서 setenv를 실행하면 작동합니다. –
AFAIK는 기본적으로 macos에 있으며 아마도 리눅스에서는 아닙니다. – ALoR