Sebelum Anda mengklik, ini bukan pertanyaan "bagaimana cara membuat bash prompt saya berwarna". Saya sudah menyesuaikan bash prompt saya agar terlihat seperti ini:
[user @ host]----[$(pwd)]
$
di mana segala sesuatu di dalam tanda kurung berwarna biru muda, dan segala sesuatu yang lain (termasuk $) berwarna hitam dengan menambahkan yang berikut ke file ~ / .bashrc saya
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
Tujuannya adalah untuk membuatnya sedemikian rupa sehingga satu-satunya hal yang berubah ketika saya menggunakan 'sudo su' adalah bahwa $ hitam berubah menjadi # merah. Saya telah mencari di /etc/bash.bashrc dan / etc / profile untuk melihat apakah hanya ada satu baris untuk berkomentar, tetapi ada banyak hal tentang debian_chroot yang tidak saya mengerti, dan saya tidak ingin untuk mengacaukan sesuatu. Bagaimana saya bisa mencapai apa yang saya inginkan?
PS Inilah yang saya ingin prompt terlihat seperti root
[user @ host]----[$(pwd)]
(red)#
edit: Tandai ini terpecahkan, tambahkan kode di atas ke ~ / .bashrc sementara root mencapai tujuan saya. Juga, dalam kode di atas, $ (pwd) hanya menampilkan direktori home (saya kira karena itu adalah direktori yang berfungsi ketika terminal dibuka), dan tidak pernah memperbarui. Mengganti $ (pwd) dengan perbaikan \ w ini, tetapi menampilkan direktori home sebagai ~
, yang saya coba hindari.
\e[01;31m
, dalam \[...\]
. Ini dijelaskan dalam PROMPTING dalam manual. Juga lihat mywiki.wooledge.org/BashFAQ/053
pwd
tidak bekerja di prompt adalah, bahwa Anda harus keluar dari tanda dolar, jika tidak $(pwd)
akan dieksekusi sebelum konten ditempatkan dalam $ PS1. Anda dapat mengujinya dengan ini: PS1="\$(pwd) "
.