2016-08-11 7 views
0
내에서 ENV 변수를 내보낼 수있는 가장 좋은 방법은 무엇

나는 조리법이 실행 된 후, 내가 할 수 있도록 요리사의 조리법 내에서 ENV 변수를 설정하려고 echo $VAR1요리사

bash 'set_env_var' do 
    code <<-EOH 
     echo export VAR1="https://#{node['fqdn']}" >> /etc/profile 
     source /etc/profile 
    EOH 
    not_if "grep -q VAR1="https://#{node['fqdn']}" >> /etc/profile" 
    end 

가 있으면 알려 주시기 바랍니다 같은 것을하는 더 좋은 방법.

답변

0

이것은 유닉스가 지원하는 기능이 아닙니다. 얻을 수있는 가장 가까운 것은 /etc/profile.d과 같은 것으로 써서 배포판의 기본 쉘 RC 파일이 지원하지만 현재 쉘 (새 쉘을 시작해야 함)에 영향을 미치지 않으며 모든 실행을 커버하지는 않습니다. 시나리오. 환경 변수는 당신이 해결하고자하는 것에 대한 잘못된 대답 일 것입니다.

+0

파일에'VAR1' 값을 추가 한 다음 파일에서'VAR1' 값을 읽는 것을 고려해야합니다. – meallhour

+0

현재 수행중인 작업에 따라 다르지만 예를 들어 구성 파일이 더 표준적일 수 있습니다. – coderanger