터미널 창에 가로줄 만들기

가끔씩 터미널에서 명령어를 입력하게 되면 어느 줄이 내가 입력한 줄이고 어느 줄이 처리된 줄인지 헷갈릴 때가 있다(많다 사실). 그래서 Emilis라는 블로거가 처리가 끝난 지점에 가로줄을 긋는 방법을 공개했다.

1. 우선 ~/.bash_ps1 파일을 만들고 아래의 내용을 붙여넣는다.

############################################

# Modified from emilis bash prompt script

# from https://github.com/emilis/emilis-config/blob/master/.bash_ps1

#

# Modified for Mac OS X by

# @corndogcomputer

###########################################

# Fill with minuses

# (this is recalculated every time the prompt is shown in function prompt_command):

fill="—- "

reset_style='\[\033[00m\]'

status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color

prompt_style=$reset_style

command_style=$reset_style'\[\033[1;29m\]' # bold black

# Prompt variable:

PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

# Reset color for command output

# (this one is invoked every time before a command is executed):

trap 'echo -ne "\033[00m"' DEBUG

function prompt_command {

# create a $fill of all screen width minus the time string and a space:

let fillsize=${COLUMNS}-9

fill=""

while [ "$fillsize" -gt "0" ]

do

fill="-${fill}" # fill with underscores to work on

let fillsize=${fillsize}-1

done

# If this is an xterm set the title to user@host:dir

case "$TERM" in

xterm*|rxvt*)

bname=`basename "${PWD/$HOME/~}"`

echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"

;;

*)

;;

esac

}

PROMPT_COMMAND=prompt_command

2. 터미널을 열고 nano ~/.bash_profile 입력하고 return을 눌러 bash_profile 편집 화면을 연다.

3. 맨 아래줄에 아래 내용을 붙여넣는다.

if [ -f "$HOME/.bash_ps1" ]; then

. "$HOME/.bash_ps1"

fi

4. ctrl + x 를 눌러 저장을 하고 Y를 눌러 저장 내역을 확인한다. 터미널을 재시작하면 적용된다.


2011년 팁이지만 10.12.4에서도 잘 작동한다. Linux 버전도 있다는 듯.

제거할 때에는 bash_profile에서 3번째 순서에서 작성한 코드를 지우고 bash_ps1 파일을 지워주면 된다.