Renkli bir bash nasıl edinebilirim?


87

Bash'ın bu şekilde renkli görünmesini nasıl sağlayabilirim?

renkli-deneme


daniel451 aynı zamanda kendi sorunuza nasıl cevap verdiniz?
kva

4
@kva Gönderme işlemi ile aynı anda kendi sorunuza cevap vermek, Exchange Exchange ağında teşvik edilir.
CJ Dennis

İlgili: askubuntu.com/questions/123268/… . İstemin tek tek parçalarının nasıl farklı renklendirilebileceğini açıklar.
FreezingFire

Yanıtlar:


128

~/.bashrcmetin düzenleyici ve yorumsuz bir çizgi halinde:

#force_color_prompt=yes

olmak:

force_color_prompt=yes

kaydet sonra çalıştır source ~/.bashrc


Soruyu tam olarak cevaplamıyor, ancak bu sonucu daha iyi seviyorum (daha az rahatsız edici).
James Hirschorn

Bence cevap veriyor. neden olmasın ?
Kra'ya

Metodundan sonra benimki neye benziyor: 2016-10-25 16: 12: 15.png Tam olarak sorudaki gibi değil.
James Hirschorn

Sadece etkin renkler force_color @JamesHirschorn, her zaman renklendirme script'lerime birinde benim örneğe bakın PS1 değişkeniyle nasıl görüneceğini yönetebilirsiniz github.com/to-kra/dotfiles/blob/master/scripts/... da git durumunu sağlayan. .. Kendi PS1'inizi kullanıcı profilinde dışa aktarabilir ve süslü renkleri ve istediğiniz formatı oluşturabilirsiniz. thx
Kra

force_color_prompt=yesrenkleri sağlayarak amaçlanan şekilde? Bana göre geçici bir çözüm gibi geliyor.
Jaakko

60

Bu çözümle geldim:

  • bir düzenleyicide ~ / .bashrc açın
  • Bunu kopyalayın ve .bashrc dosyasının sonuna ekleyin:

    PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
  • dosyayı kaydedin ve bashrc'yi yeniden başlatın:

    source ~/.bashrc

Mevcut renklerin tam listesi ve daha fazla seçenek için şu bağlantılara bakın:


Sıvı istemini kontrol etmek isteyebilirsiniz. Bu gerçekten bilgi dolu küçük bir istemidir. google.com/…
Scott Goodgame 18


Mükemmel renk seçimi!
Puck

Çevrimiçi bir GUI, Kolay Bash PS1 Jeneratör
Jim Fred

3

Biraz daha "genel" olan bir sürüm - çeşitli ortamlarda çalışmalıdır:
(terminfoya bağlı)

Şunu içine ekle $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}\] "

Ardından yürütün source ~/.bashrc.

Bundan sonra, fgtabsayılarla bir renk tablosu gösterecektir. Bu sayılar içindir tput setf nve tput setb n'n' sayıdır, 'f' 'ön plan' ve 'b' 'arka plan' renk anlamına gelir.

tput sgr 0 ön plan ve arka plan renklerini varsayılan olarak sıfırlar.

Gördüğünüz gibi, bilgi istemi için kullanılan renkleri değiştirmek gerçekten çok kolay ( $HOME/.bashrcistediğiniz gibi aynı sayıyı düzenleyin ).

Bir ekleme $(tput setb n)in $cnamearka plan n ile istemi TÜM var isterseniz.



ibm.com/developerworks/linux/library/l-tip-prompt doğrudan sayıdaki mücadelenin daha fazlası.
Hannu

man 5 terminfoNe tputile kullanılabileceğini gösterir , bu yüzden biraz "teknik" dikkate alsa da - biraz tekniktir - ancak biraz tahmin ve test yapmak aslında çalışmanıza izin verebilir.
Hannu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.