강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

쉘프로그래밍강좌107: 로그인시에 실행되는 .bashrc스크립트 수정 후 source명령어로 바로 적용하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

쉘프로그래밍강좌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 ~]$

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,156 명
  • 현재 강좌수 :  36,513 개
  • 현재 접속자 :  232 명