Notice
Recent Posts
Recent Comments
Link
04-27 08:24
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

<<개발일지>>

리눅스에서의 export의 의미와 bash_profile의 활용 본문

리눅스

리눅스에서의 export의 의미와 bash_profile의 활용

개발하는지호 2024. 7. 5. 12:20

우리가 리눅스에서 환경변수 설정을 할 때 'export'를 활용한다. 

 

ex)

 

그럼 도대체 export의 의미가 뭘까? 왜 하는 것일까

 

export : 이 명령어는 쉘 환경에서 환경 변수를 설정하고, 그 변수를 현재 쉘과 그로부터 시작된 모든 하위 프로세스에서 사용할 수 있도록 하는 명령어이다. 즉, 'export'를 사용하여 변수를 내보내면, 해당 변수가 자식 프로세스에도 전파된다.

 

실험

우선, export 없이 그냥 변수를 설정하면

$ MY_VAR="Hello, World!"
$ echo $MY_VAR
Hello, World!

 

위 코드처럼 출력이 된다.

 

하지만, 

$ bash -c 'echo $MY_VAR'

 

다른 프로세스를 생성하고 출력을 하게 되면 출력이 되지 않는다.

 

그렇다면 export를 사용한다면

$ export MY_VAR="Hello, World!"
$ bash -c 'echo $MY_VAR'
Hello, World!

 

기존 프로세스는 당연히 출력이 되면서 다른 프로세스(자식프로세스)에서도 출력 되는 것을 알 수 있다.

 

 

그렇다면 왜 ?? bash_profile 을 사용하는가?

 

bash_profile

우리는 환경 변수를 설정할 때 bash_profile에 진입하여 작성해준다.

 

이유

 

.bash_profile, .bashrc, .profile 같은 설정 파일에 환경 변수를 추가하면, 사용자가 로그인하거나 새로운 터미널 세션을 열 때마다 자동으로 현경 변수가 설정이 된다.

 

이말은 즉슨, 로그인 로그아웃 터미널을 열고 닫아도 항상 실행이 되기 때문에 계속 작성해야하는 번거로움이 사라진다는 의미이다.

 

그렇기 때문에 계속 사용하는 JAVA 같은 경우는 이렇게 .bash_profile에 작성해두어 두고두고 사용하는 것이다.

 

 

'리눅스' 카테고리의 다른 글

iconv 명령어  (0) 2024.11.03
폴더의 정확한 의미  (2) 2024.09.05
alias(별칭)란?  (0) 2024.07.03
chmod 755 ~ 의 의미  (0) 2024.06.26
기본 저장소, 외부 저장소  (0) 2024.06.24