Saya telah mengonfigurasi PS1
bash prompt dua baris yang mewah , dengan nama server, waktu, nama pengguna, dan variabel berguna lainnya.
PS1="\n\[\033[1;34m\]\342\226\210\342\226\210 \u @ $SERVER_NAME""$BBlue"" \w""$Color_Off \n\[\033[0;36m\]\342\226\210\342\226\210 \d \t $ \[\033[0;39m\]"
Sumber Github lengkap di sini .
Masalahnya adalah bahwa garis panjang sering melilit diri mereka sendiri, yang berarti bahwa baris baru tumpang tindih dengan yang sebelumnya.
Masalahnya tidak konsisten: beberapa garis dibungkus dengan benar, beberapa tidak.
Adakah cara untuk memperbaikinya?
Menemukan solusi ini online, yang menyarankan tanda kurung tutup ke variabel warna:
Ubah ini:
untuk:
Saya telah melakukan perubahan - harapan itu berfungsi seperti yang diharapkan.
sumber
\[
\]
, jadi Anda tidak bisa hanya mengakhiri semua warna pelarian ansi dengan\]
karena bagaimana jika tidak ada\[
. Saat Anda memasukkan karakter yang tidak dapat dicetak, Anda harus membungkusnya\[
\]
(misPS1='\[\e[32;1m\] green prompt \[\e[0m\] $'
.).Solusi pilihan saya untuk masalah garis panjang tumpang tindih di bash PS1 adalah memiliki
\n
di akhir baris cepat PS1.misalnya
Jika Anda ingin semua hal saya yang lain - waktu, pengguna, host, direktori, dan cabang git (!) Anda dapat menggunakan ini (mac atau linux):
/unix//a/124012/10043
sumber
if [[ $(git rev-parse --is-inside-git-dir 2> /dev/null) ]]; then branch="$( git symbolic-ref --short -q HEAD 2> /dev/null )"; fi
. Ini adalah standar ketika menempatkan git ke dalam skrip dan mengevaluasi nama cabang dari apa yang telah saya baca sebelumnya.