• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

리눅스 Bash 쉘을 좀더 가독성 좋게 만들어보기.

달소 달소 184

0

2

 

안녕하세요. 달소입니다.

 

이전에 블로그에도 글을 올렸었는데 여기에 리마인드 겸 공유해봅니다.

 

기본적으로 Cent OS와 Ubuntu 의 경우 기본 쉘로 bash를 사용하고있는데요.

기본 bash 쉘의 경우 아래처럼 딱히 가독성이랄게 없습니다.

 

image.png.jpg

 

이 CLI를 좀더 현란하게? 아래처럼 만드는 방법입니다.

image.png.jpg

 

해당 환경을 바꾸기 위해서는 bash쉘에서 사용되는 bashrc 파일을 수정하면되는데요.

사용하고있는 User의 홈파일의 .basrc 루트계정의 경우 /etc/.bashrc 내용 아래처럼 바꿔주시면됩니다.

 

1000dd와 같은 명령어로 전체 삭제 후 아래 내용을 복사해주시고

Nation과 Alias 는 편하신 설정으로 변경해주세요.

 

NATION=dalso
PS1='[\e[1;31m$NATION\e[0m][\e[1;32m\t\e[0m][\e[1;33m\u\e[0m@\e[1;36m\h\e[0m \w] \n\$ \[\033[00m\]'

# are we an interactive shell?
if [ "$PS1" ]; then
  if [ -z "$PROMPT_COMMAND" ]; then
    case $TERM in
        xterm*)
                if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
                        PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
                else
            PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
                fi
                ;;
        screen)
                if [ -e /etc/sysconfig/bash-prompt-screen ]; then
                        PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
                else
            PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
                fi
                ;;
        *)
                [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
            ;;
    esac
  fi
  # 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
        }

    if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
       umask 002
    else
       umask 022
    fi

        # Only display echos from profile.d scripts if we are no login shell
    # and interactive - otherwise just process them to set envvars
    for i in /etc/profile.d/*.sh; do
        if [ -r "$i" ]; then
            if [ "$PS1" ]; then
                . $i
            else
                . $i >/dev/null 2>&1
            fi
        fi
    done

        unset i
        unset pathmunge
fi
# vim:ts=4:sw=4


alias ls='ls --color=auto --show-control-chars'
alias l='ls -al --color=auto --show-control-chars'
alias ll='ls -al --color=auto --show-control-chars'
alias l.='ls -d .[a-zA-Z]* --color=auto --show-control-chars'
alias vi="vim"
 

 

파일 변경 후 아래처럼 exit 후 sudo su 를 다시하면 아래처럼 잘 변경된걸 확인할 수 있습니다.

 

image.png.jpg

신고공유스크랩
2

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

주간 조회 수 인기글

주간 추천 수 인기글

분류 제목 글쓴이 날짜 조회 추천
코딩테스트 ㅘ!!!!!! 9 Jasons 23.08.24.15:40 140 +2
코딩테스트 으어... 대회 시작 1시간 하고도 정확히 15분전 2 Jasons 23.08.13.12:45 243 +1
코딩테스트 NYPC 2023 2 Jasons 23.08.09.14:13 173 +1
코딩테스트
image
Jasons 23.08.24.15:40 140 +2
코딩테스트
normal
Jasons 23.08.13.12:45 243 +1
코딩테스트
image
Jasons 23.08.09.14:13 173 +1
Python
normal
mjk 23.08.03.20:22 226 +3
Linux
image
hilee0602 23.04.05.16:34 237 +1
Linux
image
화정큐삼 23.03.19.08:46 304 0
Docker
normal
장작_범댕이 23.02.19.14:21 299 0
정보
image
동기 23.01.16.09:16 220 0
정보
image
달소 23.01.06.14:50 1541 0
정보
image
동기 23.01.04.16:14 205 +2