프롬프트를 설정하는 도우미 기능이 있으며 이스케이프 코드 참조를 찾는 데 더 많은 시간을 보내고 싶지 않기 때문에 모든 텍스트 색상 값을 코드로 코딩했습니다.
function set_prompt ( )
{
# Prompt setup
# ##################
# Black \e[0;30m
# Blue \e[0;34m
# Green \e[0;32m
# Cyan \e[0;36m
# Red \e[0;31m
# Purple \e[0;35m
# Brown \e[0;33m
# Gray \e[0;37m
# Dark Gray \e[1;30m
# Light Blue \e[1;34m
# Light Green \e[1;32m
# Light Cyan \e[1;36m
# Light Red \e[1;31m
# Light Purple \e[1;35m
# Yellow \e[1;33m
# White \e[1;37m
local COLOR_DEFAULT='\[\e[0m\]'
local COLOR_BLACK='\[\e[0;30m\]'
local COLOR_BLUE='\[\e[0;34m\]'
local COLOR_GREEN='\[\e[0;32m\]'
local COLOR_CYAN='\[\e[0;36m\]'
local COLOR_RED='\[\e[0;31m\]'
local COLOR_PURPLE='\[\e[0;35m\]'
local COLOR_BROWN='\[\e[0;33m\]'
local COLOR_GRAY='\[\e[0;37m\]'
local COLOR_DARK_GRAY='\[\e[1;30m\]'
local COLOR_L_BLUE='\[\e[1;34m\]'
local COLOR_L_GREEN='\[\e[1;32m\]'
local COLOR_L_CYAN='\[\e[1;36m\]'
local COLOR_L_RED='\[\e[1;31m\]'
local COLOR_L_PURPLE='\[\e[1;35m\]'
local COLOR_YELLOW='\[\e[1;33m\]'
local COLOR_WHITE='\[\e[1;37m\]'
local PS1_SET_TITLE='\[\e]0;\w\a\]'
local PS1_SET_TIME="${COLOR_DEFAULT}\t"
local PS1_SET_RET_CODE="${COLOR_L_RED}(\$?)"
local PS1_SET_USER="${COLOR_L_GREEN}\u@\h"
local PS1_SET_PWD="${COLOR_YELLOW}\w"
local PS1_LN_1="${PS1_SET_TITLE}\n"
local PS1_LN_2="${PS1_SET_TIME} ${PS1_SET_RET_CODE} "
local PS1_LN_2="${PS1_LN_2}${PS1_SET_USER} ${PS1_SET_PWD} ${COLOR_DEFAULT}\n"
echo "${PS1_LN_1}${PS1_LN_2}"
}
그런 다음 다음을 수행 할 수 있습니다.
PS1=$( set_prompt )
# Use '#' for root shell
export PS1=${PS1}'$ '
unset -f set_prompt
다음은 VT100 터미널 코드를 설명하는 링크입니다. http://www.termsys.demon.co.uk/vtansi.htm
\[
-비 인쇄 문자 시퀀스 시작-비 인쇄 문자
\]
시퀀스 종료
- "[\ e [32; 1m]"과 \ e [32; 1m "의 차이점은 무엇입니까?
동일하지 않으며 \[\e[32;1m\]'. Without
[]` 이어야합니다 . 콘솔에서 시퀀스를 인쇄하려고 시도합니다.
- STARTCOLOR (\ e [40m) / ENDCOLOR (\ e [0m)의 의미는 무엇입니까?
STARTCOLOR, 배경을 검은 색으로 설정하는 것을 의미합니다. ENDCOLOR는 모든 텍스트 속성을 재설정 함을 의미하며 '기본 콘솔 색상 제공'을 의미합니다.