Terminal bash isteminizi gülen yüzlerle nasıl özelleştirebilirsiniz?


11

Gülen yüzleri kullanmak için terminalimin bash istemini nasıl özelleştirebileceğimi anlamaya çalışıyorum. Ne istediğim (örnek darbe görüldüğü gibi) cwd isteminden bir \ n ile ayrılması ve komut başarılı olursa yeşil bir gülen yüz ve başarısız olursa kırmızı üzgün bir yüz göstermek için.

Herhangi bir fikir?

Bu bir Peepcode screencast'tan ilham aldı.

Misal

Yanıtlar:


15

Andhrimnir'in koduyla oynamak ve daha fazla araştırma yapmak için yaklaşık yarım saat geçirdikten sonra nihayet istediğimi aldım.

PS1="\w \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]\n\xE2\x98\xBA'; else echo -e '\[\e[01;31m\]\n\xE2\x98\xB9'; fi\` \[\e[01;34m\]\[\e[00m\]"

İfadelerin bir listesini burada bulabilir ve ardından satırsonu karakterinden sonra gördüğünüz 3 basamaklı bayt koduna dönüştürebilirsiniz .

Bunu elde etmek cwdiçin tek yapmam gereken kullanmaktı \w. Geçerli kullanıcıyı yaparak \u@\w, bunun gibi bir şey çıktısı olarak gösterebilirsiniz joshsmith@~.


6

Yukarıda gösterilen gülen yüzün unicode karakter olduğu anlaşılıyor 0x263a. Bu yüzden unicode özellikli bir terminale ihtiyacınız olacak (terminal.app'ın bunu destekleyip desteklemediğinden emin değilim, olsa da hayal ediyorum).

İşte 0 dönüş kodları için yeşil bir gülen yüz ve aksi halde kırmızı kaşlı yüzler için yazdırılan örnek kod.

PS1="\[\e[01;32m\]\u@\h \[\e[01;34m\]\W \`if [ \$? = 0 ]; then echo -e '\[\e[01;32m\]:)'; else echo -e '\[\e[01;31m\]:('; fi\` \[\e[01;34m\]$\[\e[00m\]"

Kredi, Arch forumlarında Fingel'e gidiyor ( buraya gönderdi ).


Eğer / sonra örnek üzerinde harika bir çalışma. Newline'ın nasıl yapılacağını $, Unicode sembolünü nasıl kullanılacağını ve tam olarak gösterilmesini merak ediyorum cwd.
Josh Smith

... ve bir saat sonra kendi sorumu cevapladım (teşekkürler!).
Josh Smith

1
Yardımcı olduğuma sevindim! Eğer özel $PS1şeylere daha derin girmek istiyorsanız, yukarıda gönderdiğim bağlantıda çok fazla bilgi var.
jake-low

Evet, araştırmamın yarısı bu konuda başladı. Süper yararlı. Ayrıca, komut satırında daha derinlemesine gitmek isteyen herkes için Peepcode'un gelişmiş bir ekran görüntüsü vardır.
Josh Smith
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.