Bagaimana cara mengatur prompt untuk menggunakan dua warna?

15

Satu hal yang saya sukai dari Mint adalah bahwa terminal biasanya akan menampilkan dua warna: semuanya dari kiri ke yang $akan menjadi satu warna, dan semua yang lewat $akan menjadi yang lain.

Apakah ada cara untuk melakukan pengaturan ini dengan Ubuntu?

TSJNachos117
sumber
FYI Saya menemukan file /etc/bash.bashrc dari Mint 14 di pastebin . Baris pertama dan terakhir harus dihapus, atau Anda akan mendapatkan kesalahan. Juga, mungkin ide yang bagus jika file ~ / .bash_aliases dimuat, dengan asumsi file seperti itu ada.
TSJNachos117

Jawaban:

21

Jalankan perintah berikut di terminal:

gedit ~/.bashrc

Ketika .bashrcmembuka, mencari dan menghapus komentar force_color_prompt=yes(yaitu, menghapus hash, sehingga tidak lagi terlihat seperti:) #force_color_prompt=yes.

Simpan file, dan buka jendela terminal baru, dan Anda seharusnya sudah melihat perubahan (promptnya harus Hijau Muda , yang didefinisikan oleh 1; 32 ). Anda kemudian dapat mengubah nilai warna apa pun yang Anda suka; mis: 0; 35 = Ungu .

Untuk mengedit nilai warna, temukan bagian berikut ini, dan ubah nilai default dengan beberapa contoh yang tercantum di bawah ini:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;31m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Anda dapat memeriksa bagan warna Bash ini untuk rentang penuh nilai warna, tetapi di sini ada beberapa warna dasar yang dapat Anda mainkan (perhatikan bahwa "Cahaya" bukan yang Anda pikirkan - sebenarnya berarti "tebal"): Hitam 0; 30 - Abu-abu Tua 1; 30 - Biru 0; 34 - Biru Muda 1; 34 - Hijau 0; 32 - Hijau Muda 1; 32 - Cyan 0; 36 - Cyan Muda 1; 36 - Merah 0; 31 - Cahaya Merah 1; 31 - Ungu 0; 35 - Ungu Muda 1; 35 - Coklat 0; 33 - Kuning 1; 33 - Abu-abu Muda 0; 37 - Putih 1; 37

Sebagai contoh, berikut adalah baris yang saya gunakan:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

atau, pacar saya, gunakan:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;36m\]\u\[\033[01;31m\]@\[\033[01;36m\]\h\[\033[01;33m\]:\[\033[01;31m\]\w\[\033[01;33m\]\# '

Merasa bebas bereksperimen dengan mengatur prompt Anda dengan mengubah nilai variabel lingkungan PS1 di Terminal, sebagai berikut:

export PS1="...your values..."

atau hanya

PS1="...your values..."

Berikut tampilan terminal saya:

terminal

Sumber: http://ubuntugenius.wordpress.com/2011/07/11/how-to-change-the-command-line-prompt-colour-in-the-ubuntulinux-terminal/

Radu Rădeanu
sumber
1
dari mana foto bunga itu berasal?
NHDaly
3

Cukup modifikasi $PS1dalam file startup shell dengan panggilan yang sesuai tputuntuk mengatur dan menghapus atribut teks. Lihat tput(1)dan terminfo(5)manusia halaman untuk detail.

export PS1="\[$(tput setaf 2)\][\u@\h \W]\$ \[$(tput sgr0)\]"
Ignacio Vazquez-Abrams
sumber
@ RaduRădeanu: "in the shell startup files"
Ignacio Vazquez-Abrams
1
Alih-alih $(tput setaf 2)dan $(tput sgr0), saya sarankan menggunakan urutan pelarian ANSI secara langsung: \033[32mdan \033[m. Hasilnya sama, tetapi tidak memerlukan panggilan.
wjandrea
1

Hal yang Anda bicarakan ini disebut prompt . Ada banyak opsi dan skrip untuk memodifikasi prompt Anda menggunakan warna berbeda dan menampilkan segala jenis informasi tambahan. Awal yang baik dengan beberapa contoh dapat ditemukan dalam koleksi jamie dan IBM memiliki beberapa penjelasan yang bagus untuk pemula. Jika Anda ingin lebih detail, lihat howto komprehensif ini

binfalse
sumber
0

Anda dapat mencoba yang ini:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

(coba dulu di terminal). Kemudian, jika Anda suka, Anda bisa meletakkannya di suatu tempat di .bashrcfile Anda .

gniourf_gniourf
sumber