가끔씩 터미널에서 명령어를 입력하게 되면 어느 줄이 내가 입력한 줄이고 어느 줄이 처리된 줄인지 헷갈릴 때가 있다(많다 사실). 그래서 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)}\[email protected]\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 [email protected]: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 파일을 지워주면 된다.