관리 메뉴

IT창고

리눅스 환경변수와 스크립트 본문

서버운영/Linux

리눅스 환경변수와 스크립트

방구석여포 2017. 8. 22. 22:23

리눅스에서 환경변수는 시스템이 동작(환경을구성)하는데 필요하는 프로그램과 스크립트를 참조해서 사용하는 변수를 말합니다. 환경변수의 종류는 여러가지가 있는데 그중 몇가지를 보면 아래와 같습니다.

 

$PATH : 실행 경로파일을 찾을 경로를 뜻합니다.

$HOME : 현재 사용자의 홈 디렉터리를 뜻합니다.

$LANG : 쉘에 사용하는 언어를 뜻합니다.

$SHEEL : 로그인 시 사용하는 쉘을 뜻합니다.

$HISTSIZE : 히스토리 파일에 저장되는 명령어 개수를 뜻합니다.

$HISTFILE : 히스토리 파일 경로를 뜻합니다.

$PS1 : 프롬프트 구조 정보를 가진 변수를 뜻합니다,

$PS2 : 2차 명령프롬프트로 명령행창에서 \를 사용하여 명령행을 연장했을때 나타납니다.

$OSTYPE : 운영체제 타입을 뜻합니다.

$TERM : 터미널의 종류를 뜻합니다.

$TMOUT : 세션(로그인) 유지 시간을 뜻합니다.

 

위에 보다 더 많은 환경변수의 종류들이 있습니다.

 

환경변수에는 전역환경변수와 지역환경변수가 있는데 전역과 지역에 따라 달라집니다.

전역환경변수는 서브쉘에서도 적용이 되는 변수이며 지역환경변수는 현재 사용하는 쉘에서만 적용이 되는 변수입니다.

환경변수를 설정하는 법을 보면 아래와 같습니다.

 

 

 전역환경변수

 지역환경변수

선언 및 초기화

 export 변수명=값

 변수명=값 ex)TEST=A

변수 해제

 unset

 unset

변수 선언 확인 

 env

 set

 변수값 확인

 echo $변수명

 echo $변수명

PS1의 프롬프트를 바꿔볼수있는데 http://bashrcgenerator.com/ 이곳 사이트에 가보면 직접 자신만의 프롬프트 코드를 쉡게 꾸미고 변환해줄수있어서 편합니다 저같은 경우는 시간과 색깔을 추가해보았는데 눈에도 잘띄고 보기에 좋습니다.

바꾸는 방법은 전체사용자는 vi /etc/bashrc에서 수정합니다 :set nu으로 라인확인하시고 36번째 라인을 보시면됩니다.

개별사용자는 vi /home/사용자/.bashrc 입니다.

 

스크립트(Script)

리눅스에는 로그인 하면 실행되는 스크립트 파일이 있는데 이걸 환경 초기화 스크립트라고 합니다 시스템 전체에 적용되는 내용이 작성되어 있는 스크립트는 /etc/profile과 /etc/bashrc가 있고 특정 사용자에게만 적용되는 내용이 작성되어 있는 스크립트는 ~/.bash_profile과 ~/.bashrc 파일이 있습니다.

 

리눅스가 처음 로그인이 되서 실행되는 스크립트 순서는 1번 /etc/profile 2번 ~/.bash_profile 3번 ~/.bashrc 4번 /etc/bashrc순서대로 진행이 된후에 명령어를 사용할수있는 상태가 됩니다.

로그인 할때마다 설정하는 것 보다 환경 초기화 스크립트에 alias 설정을 적어두면 나중에 로그인할때 설정을 안해도 되기 때문에 vi편집기로 미리 작성해둡니다.

 

마지막으로 history기록을 로그인 할때마다 기록을 삭제하는 법을 알아보겠습니다.

history의 경로는 /root/.bash_history 에 있습니다. 여기에 있는 기록을지울려면 환경 초기화 스크립트에 명령어를 넣어주시면되는데 첫번째 방법은 cat /dev/null > ~/.bash_history을 환경 초기화 스크립트에 입력하시면되고 두번째방법은 echo" " > $HISTFILE을 스크립트에 입력해도 결과는 같습니다. 스크립트에 명령어를 입력후 로그인하고 history를 입력해보면 기록이 지워져 있는모습을 볼수있습니다.


tip으로 홈디렉토리 위치한 .bash_logout 파일이 있는데 이 파일은 로그아웃할때 실행되는 스크립트입니다.
이 스크립트에 명령어를 입력하면 로그아웃하기 바로 전에 .bash_logout에 있는 스크립트를 실행해 줍니다.

'서버운영 > Linux' 카테고리의 다른 글

리눅스 소유권과 허가권  (0) 2017.08.25
리눅스 사용자계정  (0) 2017.08.25
Xshell 기본 설정하기  (0) 2017.08.21
리눅스 SSH배너 설정하기  (0) 2017.08.20
리눅스 vi편집기 사용 (vim포함)  (0) 2017.08.19
Comments