Bagaimana cara mendapatkan bash berwarna?


87

Bagaimana saya bisa membuat pesta terlihat berwarna seperti ini?

berwarna-bash


daniel451 kenapa Anda telah menjawab pertanyaan Anda sendiri dalam waktu yang sama.
kva

4
@kva Menjawab pertanyaan Anda sendiri pada saat yang sama dengan posting didorong di seluruh jaringan Stack Exchange.
CJ Dennis

Terkait: askubuntu.com/questions/123268/… . Ini menjelaskan bagaimana setiap bagian dari prompt dapat diwarnai secara berbeda.
FreezingFire

Jawaban:


128

Buka ~/.bashrcdi editor teks dan baris komentar:

#force_color_prompt=yes

menjadi:

force_color_prompt=yes

simpan lalu jalankan source ~/.bashrc


Tidak tepat menjawab pertanyaan, tapi saya suka hasil ini lebih baik (kurang mengganggu).
James Hirschorn

Saya pikir itu menjawab. kenapa tidak ?
Ke Kra

Inilah yang menjadi milik saya setelah metode Anda:! 2016-10-25 16: 12: 15.png Tidak persis seperti dalam pertanyaan.
James Hirschorn

@JamesHirschorn force_color hanya mengaktifkan warna, Anda selalu dapat mengatur bagaimana pewarnaan akan terlihat dengan variabel PS1 lihat contoh saya di salah satu skrip saya github.com/to-kra/dotfiles/blob/master/scripts/… yang juga mengaktifkan status git. .. Anda dapat memiliki PS1 Anda sendiri diekspor dalam profil pengguna, dan membuat warna dan format yang Anda suka. thx
Ke Kra

Apakah force_color_prompt=yescara yang dimaksudkan untuk mengaktifkan warna? Bagi saya memaksa terdengar seperti solusi.
Jaakko

60

Saya datang dengan solusi ini:

  • buka ~ / .bashrc di editor
  • salin ini dan tambahkan di akhir file .bashrc:

    PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
  • simpan file dan mulai ulang bashrc:

    source ~/.bashrc

Untuk daftar lengkap warna yang tersedia dan opsi lebih lanjut lihat tautan ini:


Anda mungkin ingin memeriksa permintaan cairan. Ini adalah info kecil yang dikemas sangat cepat. google.com/…
Scott Goodgame


Pilihan warna yang sempurna!
Puck


3

Versi yang sedikit lebih 'umum' - harus bekerja dengan lingkungan yang bervariasi:
(tergantung pada terminfo)

Masukkan ini di $HOME/.bashrc:

function fgtab {
  echo "tput setf/setb - Foreground/Background table"
  for f in {0..7}; do
    for b in {0..7}; do
      echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
    done
    echo -e "$(tput sgr 0)"
  done
}

# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "

Kemudian jalankan source ~/.bashrc.

Setelah itu, fgtabakan muncul tabel warna dengan angka. Angka-angka itu untuk tput setf ndan di tput setb nmana 'n' adalah angka, 'f' singkatan dari 'latar depan' dan 'b' singkatan dari warna 'latar belakang'.

tput sgr 0 akan mengatur ulang warna latar depan dan latar belakang ke default.

Dan seperti yang Anda lihat, mengubah warna yang digunakan untuk prompt menjadi sangat mudah (cukup edit nomor yang sama $HOME/.bashrcseperti yang Anda inginkan).

Tambahkan sebuah $(tput setb n)in $cnamejika Anda ingin SEMUA prompt dengan latar belakang n.



ibm.com/developerworks/linux/library/l-tip-prompt lebih banyak dari angka-angka langsung.
Hannu

man 5 terminfomenunjukkan apa yang tputdapat digunakan dengan, itu agak teknis meskipun begitu "perhatikan" - tetapi sedikit menebak dan pengujian sebenarnya dapat membuat Anda membuatnya bekerja.
Hannu
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.