sh 하위 프로세스에 변수를 전달하는 방법은 무엇입니까? [복사]

sh 하위 프로세스에 변수를 전달하는 방법은 무엇입니까? [복사]

중복 가능성:
변수를 서브쉘로 "보내는" 방법은 무엇입니까?

bash내가하는 스크립트가 있습니다 sh. 변수를 새 쉘에 전달하는 방법은 무엇입니까? 다음과 같이 진행됩니다(특정 질문으로 단순화).

스크립트.sh:

#!/bin/bash
#......
MYVAR=myvalue
sh -c 'some_code_here'
#......

MYVAR기본적으로 내 some_code_here섹션 에서 사용하고 싶은 것입니다 . 임시 스크립트를 만들어 실행할 생각입니다. 하지만 쉬운 방법이 있다면 임시 스크립트를 사용하지 않아도 됩니다.

답변1

그냥 export:

#!/bin/bash

export MYVAR=myvalue
sh -c 'some_code_here'

답변2

특별한 쉘 구문이 필요하지 않고 이와 같은 문제를 피하려면 다음을 sudo사용하십시오 env.

env MYVAR=value sh -c "blah"

관련 정보