일부 env 출력을 제공하는 파이프된 쉘 명령이 많이 있습니다. 체인에 추가 명령을 추가할 수 있도록 환경 변수로 설정하고 싶습니다.
Kevins-MBP:ops kevzettler$ eb printenv | tail -n +2 | sed "s/ //g"
NODE_ENV=staging
RDSPassword=changme
RDSHost=sa1c7quehy7pes5.lolol.us-east-1.rds.amazonaws.com
RDSUsername=derp
답변1
다음을 수행할 수 있습니다.
source <(eb printenv | tail -n +2 | sed 's/ //g; s/^/export /')
your_next_command_that_uses_those_env_vars
시험:
예제 변수 정의를 인쇄하는 함수 정의
function eb { echo " NODE_ENV=staging RDSPassword=changme RDSHost=sa1c7quehy7pes5.lolol.us-east-1.rds.amazonaws.com RDSUsername=derp" }
파이프라인이 무엇을 생성하는지 확인하려면 이를 호출하세요.
$ eb printenv | tail -n +2 | sed 's/ //g; s/^/export /' export NODE_ENV=staging export RDSPassword=changme export RDSHost=sa1c7quehy7pes5.lolol.us-east-1.rds.amazonaws.com export RDSUsername=derp
해당 출력을 얻고 현재 셸과 새 셸을 테스트하여 내보냈는지 확인하세요.
$ source <(eb printenv | tail -n +2 | sed 's/ //g; s/^/export /') $ echo $NODE_ENV staging $ sh -c 'echo $NODE_ENV' staging