Benim komut satırım (BASH PS1)

BASH’daki sıkıcı giriş satırından sıkılmadınız mı? En azından ben sıkılmış ve renklendirmiştim. Dün gece de aklıma daha iyisi olup olamayacağı geldi, Internet ‘teki diğer BASH’lardan da kopya çektim tabii. Çok çeşitli pek çok örnek var, ancak ben komut satırının tek satır olması ve sade olması, çok yer kaplamaması ve sisteme efor harcatmaması düşüncesinden hareket ettim. Kendi bakış açımdan; sade, canlı, işlevli ve performanslı oldu. Tabii ki siz kendinizinkini yaparken; klasördeki dosya sayısı/toplam boyuttan, GIT/SVN durumuna, hatta hava durumu gibi egzotik (kanaatimce de biraz gereksiz) çalışmalara girebilirsiniz.

Benimkinde tasarım nispeten basit, ilk alanda saati,  komut sırasını, üçüncüde de bir önceki komutun sonucuna göre, olumluysa gülen olumsuzsa suratsız bir yüz ve buna göre renklendirme görüyorsunuz. Komut sayısının işlevi; diyelim ki 493 numaralı komutunuz “echo -n “6975b5c199dc0dd021d3b341461cbc4c” > md5sum” ise, !493 komutunu verirseniz o komutu tekrar ettirmiş oluyorsunuz, !! ile son komutu tekrar ettirme bilinen bir şey ama, sıralamayı ve pratik kullanımı olabileceğini yeni farkettim. İkinci alanda ise klasik, kullanıcı adı, hostname ve çalışılan klasör mevcut.

Komut satırınızın şekli $PS1 diye bir değişkende saklanıyor, bunu tek bir oturum için (denerken) değiştirmek için PS1=”PS1 AYARINIZ” şeklinde yazabiliyorsunuz. Kalıcı olması içinse /home/kullanıcıadı/.bashrc dosyasını düzenleyip, export PS1 satırında aynı değişikliği uygulamanız gerekli.

İşte o $PS1 satırı: (Biraz uzunca, hepsi tek seferde görünmezse çift tıklayın üzerine, veya soldan tutup sağa çekin)

export PS1="e[1;32m][[t #! `if [ $? = 0 ]; then echo -e 'e[01;32mxE2x98xBA'; else echo -e 'e[01;31mxE2x98xB9'; fi`]e[1;33m][e[31m] [email protected]:w[$[e[32m][e[0m] "

Basitçe ne nedir dersem, t kısmı saati yazıyor, ! kısmı komut sırasını, ortadaki if ‘li ifade gülen yüzleri çizmek için. u ile kullanıcı adı, h ile hostname ve w ile çalışılan klasör yazılmış oluyor. Gerisi de renk kodları.

Bu da ufak bir bonus, nereden kaptığımı hatırlamadığım “cls” alışkanlığımı gidermek için eklemiştim .bashrc ‘ye: alias cls=’clear’

Var mı benim BASH’ım gibisi? :)

Yorum Yazın