리눅스 shell 변수 질문입니다

dooggy의 이미지

안녕하세요
리눅스 shell 변수 관련 질문드립니다
shell command를 아래의 두가지 방법으로 수행할 수 있는데요
1. shell script를 작성하여 script 실행
2. linux prompt상에서 shell command를 입력하여 실행
shell 명령시 생성한 변수는 어디에 저장되었다가 언제 소멸되는지요?
shell script로 수행시에는 script 종료시 소멸되는 것 같은데
command로 생성된 변수는 언제 소멸되나요?

$test_var=Hello
$echo $test_var
Hello

이 때 test_var은 어디에 저장되었다가 언제 없어지는걸까요?

감사합니다

kerz의 이미지

이렇게 저장한 환경변수는 지역변수로 로그아웃 등으로 세션이 끊어지면 사라집니다.

생성한 변수를 확인하시려면 set 명령으로 확인가능합니다.

$ set | grep test_var

참고로 export 를 활용해서 전역 환경변수로 만들 수도 있습니다.

-----
늘 여유가 함께하길..

김정균의 이미지

command 로 생성된 변수는 해당 shell 이 종료되면 소멸 됩니다.
즉, 스크립트에서 생성된 변수는, 해당 스크립트를 실행 시킨 sub shell 에서 생성이 되고, 스크립트가 종료되면 해당 sub shell 이 종료 되면서 같이 소멸 되는 겁니다.