쉘프로그래밍강좌107: 로그인시에 실행되는 .bashrc스크립트 수정 후 source명령어로 바로 적용하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,632 조회
- 0 추천
-
목록
본문
쉘프로그래밍강좌107: 로그인시에 실행되는 .bashrc스크립트 수정 후 source명령어로 바로 적용하기
여기서 설명하는source명령어 뿐 아니라 어떤 명령어든 그 명령어를 이해하기 위해서는 실제 활용 예를 본 후에 직접 사용해보는 것이 그 명령어를 내 것으로 만드는 가장 확실한 방법입니다.
따라서 source명령어의 이론적인 이해를 하기 전에 필자가 설명하는 이번 예를 한번 적용해 보시는 것이 좋을 것 같습니다.
먼저, source라는 명령어의 주된 용도가 되는 .bashrc스크립트파일을 변경하여 적용해 보도록 하겠습니다.
여러분들도 아시겠지만 .bashrc스크립트파일은 모든 계정의 홈디렉토리에 존재하는 파일로서 리눅스로 로그인하는 각 계정마다 1회씩 자동실행이 되어 개별계정의 쉘사용 환경을 설정하는 쉘스크립트파일입니다.
따라서 이 스크립트를 수정한 후에 재접속할 때에는 당연히 수정된 내용대로 적용이 됩니다.
하지만, 이 스크립트를 수정 한 후에 재접속하지 않고 접속한 상태에서 바로 적용되도록 하려면 “source .bashrc”라는 명령어를 사용하면 됩니다.
즉, 아래와 같이 sspark이라는 계정의 홈디렉토리에서 “ls –al”명령어로 sspark의 홈디렉토리에 존재하는 파일들을 확인하였습니다.
[sspark@su249 ~]$ ls -al 합계 28 drwx------ 4 sspark sspark 4096 2008-11-2701:05 . drwxr-xr-x 4 root root 4096 2008-11-2701:05 .. -rw-r--r-- 1 sspark sspark 18 2008-02-2923:27 .bash_logout -rw-r--r-- 1 sspark sspark 176 2008-02-2923:27 .bash_profile -rw-r--r-- 1 sspark sspark 124 2008-02-2923:27 .bashrc drwxr-xr-x 2 sspark sspark 4096 2008-04-0705:43 .gnome2 drwxr-xr-x 4 sspark sspark 4096 2008-11-2100:09 .mozilla [sspark@su249 ~]$ |
위의 파일리스트 중에서 .bashrc라는 파일을 확인하고 아래와 같이 cat명령어로 그 내용을 확인 하였습니다.
[sspark@su249 ~]$ cat .bashrc # .bashrc
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
# User specific aliases and functions [sspark@su249 ~]$ |
그리고 아래와 같이 .bashrc의 내용을 변경하였습니다.
즉 기존 .bashrc파일내용에서 맨 마지막에 “echo " Hi Sungsoo, have a nice day..." “라는 내용을 추가 하였습니다.
즉 이렇게 .bashrc파일을 변경한 이후부터 재접속 할 때에는 접속과 동시에 " Hi Sungsoo, have a nice day..." 라는 인사말이 화면에 출력될 것입니다.
하지만 재접속없이 바로 현재시점부터 적용을 하려면 source명령어를 이용하면 됩니다.
[sspark@su249 ~]$ cat .bashrc # .bashrc
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
# User specific aliases and functions
echo " Hi Sungsoo, have a nice day..." [sspark@su249 ~]$ |
즉, 아래와 같이 “source .bashrc”를 실행하면 변경된 .bashrc파일이 재번역되어 현재환경에 적용됩니다.
“source .bashrc”는 .bashrc를 실행하게 되는 것과 동일하므로 아래의 예와 같이 “Hi Sungsoo, have a nice day…”라는 인사말이 출력된 것입니다.
[sspark@su249 ~]$ source .bashrc Hi Sungsoo, have a nice day... [sspark@su249 ~]$ |
위와 같이 변경된 스크립트들을 시스템에 바로 적용하기 위하여 현재 상태에서 바로 재번역하게 해주는 명령어가 source명령어입니다.
위의 예에서 필자는 source명령어로 .bashrc파일의 변경된 내용이 어떻게 적용이 되는가를 보이기 위하여 .bashrc파일 내에서 변경되는 부분을 echo문의 추가로 선택하였으나 실무에서는 이보다는 umask값의 변경이나 명령어 알리아스설정이나 쉘프롬프트 변경등과 같은 쉘환경적용을 위해 주로 사용하고 있습니다.
참고로 아래의 예는 위에서 변경한 .bashrc파일로 인하여 이후부터 재접속하는 sspark계정의 로그인 예입니다.
로그인의 마지막 과정에서 변경된 .bashrc파일로 인하여 “Hi Sungsoo, have a nice day…”라는 메시지가 출력되는 것을 확인하시기 바랍니다.
[root@su241 ~]# ssh -l sspark 192.168.0.249 sspark@192.168.0.249's password: Hi Sungsoo, have a nice day... [sspark@su249 ~]$ |
관련자료
-
이전
-
다음