2016-08-10 5 views
0

현재 쉘에서 선언 된 지역 변수를 내보낼 때 미래의 하위 셸, 프로세스, 하위 프로세스 또는 미래의 하위 프로세스로 전달됩니까? 미래의 하위 셸로 전달된다고 들었습니다. 맞습니까?리눅스의 지역 변수

답변

1

이 간단한 테스트는 그 자체로 당신을 응답 할 것이다 :

$ VAR1="Hello, World!" 
$ echo "${VAR1}" 
Hello, World! 
$ bash 
$ echo "${VAR1}" 

$ export VAR1="Hello, World!" 
$ echo "${VAR1}" 
Hello, World! 
$ bash 
$ echo "${VAR1}" 
Hello, World! 
$ 

것은 그것을 부셔 없습니다 :

없음 수출 ...

$ VAR1="Hello, World!" 
$ echo "${VAR1}" 
Hello, World! 
$ bash 
$ echo "${VAR1}" 

$ 

은 ...에 정의되지 VAR1로 연결 아이.

$ export VAR1="Hello, World!" 
$ echo "${VAR1}" 
Hello, World! 
$ bash 
$ echo "${VAR1}" 
Hello, World! 
$ 

... export에있는 동안 ... VAR1이 아이에 정의되는 리드.

+0

VAR1이 자식에게 전달 될 수 있습니까? – Char

+1

** 어린이 환경에 ** ** 전달 *됩니다. – pah

+0

하지만 하위 프로세스로 전달되지 않습니다. – Char

2

그냥 사용해보십시오.

$ export foo=bar 
$ bash 
$ echo $foo 
bar 
$ bash 
$ echo $foo 
bar 
$ exit 
$ exit 
$ 

tl; 예 : 예.