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.