본문 바로가기
Linux

셸 변수

by oncerun 2020. 11. 16.
반응형

셸은 '셸 변수'를 사용하여 정보를 저장할 수 있는데, 셀 변수는 기본적으로 문자열 정보를 갖는다.

변수를 설정하고 값을 지정하려면 등호(=)를 사용한다.

현재 사용 중인 셸에서 설정되어 있는 모든 변수를 확인하려면 set 명령을 사용한다.

 

환경 변수

환경 변수는 보통의 셸 변수와 다르게 현재 셸로부터 새로운 서브 셸이 만들어질 때 전달되는 변수를 의미한다.

셸 변수는 현재 셸에서만 사용 가능한 지역 변수라 하면, 환경 변수는 서브 셸에서도 사용할 수 있는 전역 변수라고 할 수 있다. 보통 환경 변수의 이름은 대문자를 사용한다. 설정된 환경 변수를 모두 확인하기 위해선 printenv 명령과 env 명령을 사용하면 모든 환경 변수와 환경 변수의 값을 출력한다.

 

환경 변수로 사용하기 위해선 'export variable' 명령을 사용한다.  설정된 환경 변수의 값을 확인하기 위해선 print $variable or printenv variable을 사용하면 된다.

변수의 지정 없이 export -p를 실행하면 현재 셸로 부터 export 된 변수를 확인할 수 있다. 설정된 변수를 삭제하기 위해선 unset variable 명령을 사용한다.

 

로그인과 환경 설정 파일

 

사용자 계정과 암호를 정확하게 입력한 후 로그인에 성공하면 셸이 자동으로 수행될 수 있다. 이렇게 로그인할 때 수행되는 셸을 '로그인 셸'이라고 한다. 로그인 셸에서만 logout 명령을 사용하여 로그아웃을 할 수 있다.

만약 GUI 환경에서 터미널 창을 띄우면 셸이 수행되는데 이것은 로그인 셸이 아니다.

셸에서 su -l username을 수행하면 지정된 사용자 계정으로 로그인을 할 수 있으며 이때 수행되는 서브 셸은 로그인 셸이다. 로그인을 할때나 로그인 후에 셸을 시작할 때 환경 설정을 위해 자동으로 수행되는 설정 파일이 존재한다.

이것은 개별 사용자를 위한 초기화 스크립트로서 개별 사용자가 자신의 의도대로 환경을 설정 할때 사용한다.

파일 설명
/etc/profile 모든 사용자에게 적용되는 시스템 수준의 환경 설정 파일로 로그인 할때 가장 먼저 수행된다. 루트 사용자만 수정할 수 있으며 PATH, MAIL, HISTSIZE 등 전역의 환경 변수가 일반적으로 설정된다.
~/.bash_profile 로그인할 때 수행되며 개별 사용자에게 적용되는 환경 설정 파일이다. 새롭게 환경 변수를 설정할 수 있으며 보통 내부에서 ~/.bashrc를 실행한다. 이 파일에서 설정된 변수는 모든 셸에 전달되어 로그아웃할 때 까지 유효하다.

~/.bashrc 로그인 후에 셸을 시작할 때 수행되며 개별 사용자에게 적용되는 설정파일이다. 보통 내부에서 /etc/bashrc를 수행한다.
/etc/barshrc 로그인 후에 셸을 시작할 때 가장 먼저 수행되어 모든 사용자에게 적용되는 설정파일이다. 루트 사용자만 수정할 수 있으며 프롬프트를 정하는 PS1,alias를 이용한 에일리어스 설정, umask를 사용한 접근권한의 초깃값 등 일반적 설정을 수행한다.
~/.bash_logout 로그아웃을 수행할 때 실행되는 스크립트 파일이다.

 

반응형

'Linux' 카테고리의 다른 글

[Linux] 운영체제의 부팅  (0) 2020.11.17
[Linux] 파일의 종류  (0) 2020.11.16
명령의 연결과 확장  (0) 2020.11.16
리눅스 표준 디렉터리  (0) 2020.11.12
[Linux]파일의 내용 확인  (0) 2020.09.10

댓글