Bagaimana cara mendapatkan bash berwarna?

87

Bagaimana saya bisa membuat pesta terlihat berwarna seperti ini?

berwarna-bash

daniel451
sumber
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

Untuk Kra
sumber
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:

daniel451
sumber
Anda mungkin ingin memeriksa permintaan cairan. Ini adalah info kecil yang dikemas sangat cepat. google.com/…
Scott Goodgame
Pilihan warna yang sempurna!
Puck
GUI online, Easy Bash PS1 Generator
Jim Fred
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.

Hannu
sumber
lebih lanjut: askubuntu.com/a/396555/289138
Hannu
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