Saya memiliki fungsi pembantu untuk mengatur prompt, dan karena saya tidak ingin menghabiskan lebih banyak waktu untuk mencari referensi kode pelarian, saya telah mengkodekan semua nilai warna teks ke dalamnya.
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}"
}
Anda kemudian dapat melakukan:
PS1=$( set_prompt )
# Use '#' for root shell
export PS1=${PS1}'$ '
unset -f set_prompt
Berikut ini tautan yang menjelaskan kode terminal VT100: http://www.termsys.demon.co.uk/vtansi.htm
\[
- mulai urutan karakter yang tidak dicetak
\]
- urutan akhir karakter yang tidak dicetak
- Apa perbedaan antara "[\ e [32; 1m]" dan \ e [32; 1m "? Apakah keduanya sama?
Tidak sama, dan seharusnya \[\e[32;1m\]'. Without
[] `akan mencoba mencetak urutan di konsol.
- Apa arti dari STARTCOLOR (\ e [40m) / ENDCOLOR (\ e [0m)?
STARTCOLOR, berarti mengatur latar belakang menjadi hitam, ENDCOLOR berarti mengatur ulang semua atribut teks, yang berarti 'beri saya warna konsol default'