레벨234-1 : 리눅스의 모든 사용자들의 시스템 사용환경설정을 위한 /etc/bashrc파일의 용도와 기능
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,690 조회
- 0 추천
- 목록
본문
레벨234-1 : 리눅스의 모든 사용자들의 시스템 사용환경설정을 위한 /etc/bashrc파일의 용도와 기능
[권고사항]
이번 장의 설명을 보시기 이전에 bash명령어편을 반드시 보시기 바랍니다. |
리눅스 서버에는 사용자들을 위한 시스템 사용환경설정 파일들이 있습니다. 이들 환경설정파일들에 대한 전체적인 설명을 보시려면 이 책의 bash편을 보시기 바랍니다.
이번 장에서는 리눅스 서버의 /etc/bashrc파일에 대해서 설명합니다. 이 파일은 로그인과정에서 모든 개별사용자들에게 공통적으로 적용할 알리아스(alias)와 함수(function)들을 설정한 파일입니다. 참고로 각 개별사용자들의 홈디렉토리에는 .bashrc라는 파일이 모두 있습니다. 이 .bashrc파일이 각 개별사용자들의 개별적인 시스템사용환경을 설정하기 위한 파일이라면, 이번 장에서 설명하는 /etc/bashrc파일은 시스템 전체사용자들에게 공통으로 적용할 시스템 사용환경설정파일입니다.
아래는 /etc/bashrc파일의 기본적인 기능과 용도를 간추린 것입니다.
- 전체 사용자들에게 공통적으로 적용할 알리아스(alias, 별칭명령어)를 설정한다.
- 전체 사용자들에게 공통적으로 적용할 함수(function)을 설정한다.
- 전체 사용자들의 기본 umask값을 설정한다.
- 전체 사용자들에게 PS1 환경변수를 설정한다.
- 전체 사용자들이 기본적으로 사용할 쉘프롬프트의 모양을 설정한다.
이 파일은 개별사용자의 홈디렉토리에 있는 .bashrc파일에 의해서 불리워져 모든 사용자들에게 적용됩니다. 따라서 리눅스 서버를 사용하는 모든 사용자들에게 적용할 알리아스(alias)와 함수(function)들이 있다면 이 파일에 추가하시면 됩니다.
그리고 다음은 이 파일(.bashrc)에 의해서 불리워지는 /etc/bashrc파일의 초기 기본내용입니다.
[root@su249 ~]# cat /etc/bashrc # /etc/bashrc
# System wide functions and aliases # Environment stuff goes in /etc/profile
# By default, we want this to get set. # Even for non-interactive, non-login shells. if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi
# are we an interactive shell? if [ "$PS1" ]; then case $TERM in xterm*) if [ -e /etc/sysconfig/bash-prompt-xterm ]; then PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm else PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"' fi ;; screen) if [ -e /etc/sysconfig/bash-prompt-screen ]; then PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen else PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"' fi ;; *) [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default ;; esac # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ " fi
if ! shopt -q login_shell ; then # We're not a login shell # Need to redefine pathmunge, it get's undefined at the end of /etc/profile pathmunge () { if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi fi }
# Only run profile.d scripts if we are no login shell and interactive if [ "$PS1" ]; then for i in /etc/profile.d/*.sh; do if [ -r "$i" ]; then . $i fi done fi unset i unset pathmunge fi # vim:ts=4:sw=4 [root@su249 ~]# |
관련자료
-
이전
-
다음