Apa perbedaan antara \ e [38; 5; 175m dan \ [\ e [38; 5; 175m \] sehubungan dengan warna bash?


1

Saya telah mencoba mempelajari cara menyesuaikan shell saya dan saya menemukan dua cara berbeda dalam menentukan warna di shell Bash. Mereka berdua tampaknya mencapai tujuan yang sama dan saya tidak yakin apa perbedaannya (jika ada). Apa yang dilakukan [dan] sekitarnya?

Contoh:

# colors!
red="\e[38;5;196m"
lightMagenta="\[\e[38;5;175m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1="$lightMagenta\u@\h$green\$(__git_ps1)$red \W $ $reset"

Wawasan apa pun akan sangat dihargai.

Terima kasih!


(Juga FYI, \033adalah hal yang sama dengan \e.)
Bavi_H

BTW, saya tidak merekomendasikan penggunaan kode khusus terminal dalam literal - gunakan tputprogram untuk menghasilkan yang tepat untuk terminal yang Anda gunakan, jadi Anda tidak mendapatkan banyak kekacauan ketika asumsi Anda ternyata salah.
Toby Speight

Jawaban:


1

Saya menemukan halaman tentang kustomisasi Bash Prompt yang mengatakan:

Membungkus [urutan pelarian terminal] \[ \]direkomendasikan oleh halaman manual Bash. Ini membantu Bash mengabaikan karakter yang tidak dapat dicetak sehingga ia dengan benar menghitung ukuran prompt.


Terima kasih! Ini adalah posting yang sangat lama, jadi minta maaf karena sudah lama menerima jawaban ini! :)
PetarM
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.