Temukan tempat Anda PS1diatur di .bashrcdan masukkan '\[\e[1m\]'di awal dan \[\e[0m\]di akhir.
\[dan \]diperlukan agar shell tahu kekacauan di dalamnya memakan 0 ruang di layar, yang mencegah beberapa perilaku kacau ketika melakukan pengeditan baris. Anda tidak perlu terlalu khawatir tentang hal itu.
\e[dikenal sebagai CSI (pengontrol urutan pengantar). Anda akan melihatnya digunakan di sebagian besar kode yang tercantum pada halaman Wikipedia yang dirujuk. \e berarti karakter pelarian.
- Jika Anda melihat pada tabel SGR pada halaman Wikipedia, Anda akan melihat 1 adalah angka untuk teks terang / tebal, dan 0 untuk reset. Dengan demikian
CSI 1mnyalakan huruf tebal dan CSI 0matur ulang font sehingga sisa teks Anda normal.
Wikipedia memiliki daftar lengkap kode pelarian ANSI yang dapat Anda gunakan jika emulator terminal Anda mendukungnya.
Edit
Untuk portabilitas dan keterbacaan, Anda harus menggunakan tputalih-alih kode melarikan diri hard-coding. Satu-satunya downside adalah tputpendekatan tidak akan bekerja dengan terminal yang mendukung kode ANSI tetapi memiliki database terminfo rusak atau hilang, tetapi dalam kasus itu terminfo rusak adalah masalah yang lebih besar karena banyak aplikasi konsol Anda yang bergantung pada terminfo mungkin tidak berfungsi dengan baik.
Berikut ini contoh dari apa yang saya lakukan di .bashrc:
# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "
Inilah yang akan terlihat seperti versi generik saya. Ini 0adalah status keluar dari perintah terakhir.
