Bash komut satırını özelleştirme rehberi

Bu yazıda sizlere bash komut satırı özelleştirmeyi anlatacağım. Başlıklar halinde giderceğim.

0. Giriş
Bash komut satırında yaptığımız özelleştirmeleri ~/.bashrc dosyası içerisie yazmamız gerekmektedir. Terminali açtığımızda öncelikle bu dosya çalıştırılacak ve ardından terminalimiz başlatılacaktır.
Örneğin ~/.bashrc içerisine echo Merhaba Dünya eklersek Şu şekilde gözükecektir.
image

1. PS1 nedir
PS1 ve PS2 çevresel değişkenleri komut girdiğimiz alanın önünde yazan yazıları düzenler. PS1 normal girdiler için kulanılırken PS2 tamamlanmamış tırnak işaretleri gibi yerlerde bir sonraki satırı beklerken yazılır. çevresel değişkenler export kullanılarak ayarlanır.

Örneğin PS1 değerimize $ işareti koyduğumuzu varsayalım. Bunun için ~/.bashrc dosyamıza export PS1=$ yazmalıyız.
image
PS1 için bazı özel işaretler bulunur. Bunların ne işe yaradıklarını aşağıda belirttim.

\u : kullanıcı adı
\h : bilgisayar adı
\w : şu anki dizin (tam yolu)
\W : şu anki dizin (sadece adı)
\n : alt satıra geçme işareti
$ : $ işareti

Örneğin:
image

Bununla birlikte renkli hale getirebiliriz. Bunun için \[ özel karakteri ile \] özel karakteri arasına renk kodu yazılmalıdır. Renk kodlarının yaşısı da şu şekildedir.

\033[xx;yy;zz;...m Burada xx yy ve zz ifadeleri birer sayıdır. Sayılara göre şu özellikleri alırlar. 0 tüm özellikleri devre dışı bırakır.

1-7 yazı türü ile ilgilidir. 31-17 yazı rengi 41-47 yazı arkaplanı ile ilgilidir.

1 kalın 2 ince 3 italik 4 altı çizgi 5 yanıp yönen 6 hızlı yanıp yönen 7 renkleri ters dönmüş.

30 siyah 31 kırmızı 32 yeşil 33 sarı 34 mavi 35 magenta 36 turkuaz 37 beyaz

40 siyah 41 kırmızı 42 yeşil 43 sarı 44 mavi 45 magenta 46 turkuaz 47 beyaz

Örneğin:
image

2. Alias komutları ve fonksion tanımlama

Aliaslar bir komutun kısaltılmış halini tanımlamak için kulanılır. Aliaslar ~/.bashrc içerisinde tanımlanabilir. Örneğin:

image

Aliaslar kullanarak bazı uzun komutları kısaltabiliriz.
Benim kulandığım bazı aliaslar:

alias c='clear'
alias e='export'
alias a='alias'
alias t='touch'
alias m='mkdir -pv'
alias r='rm -rfv'
alias x='chmod +x -R'
alias ~='cd ~'
alias ..='cd ..'
alias ...='cd ../../'
alias ....='cd ../../../'
alias gc='git commit'
alias ga='git add'
alias gpsh='git push'

Alias komutu yanında bazı sık kulanılan komutları fonksion tanımlayarak kısaltabiliriz. Örneğin wine ile çalışan bütün uygulamaları kapatmak için ayağıdaki fonksionu tanımladım.

killwine(){
    ps aux | grep "\.exe" | grep -v grep | awk '{print $2}' | xargs kill -9 &>/dev/null
    killall winedevice.exe &>/dev/null
    killall wineserver &>/dev/null
    killall winedbg
}

Bu noktada biraz bash programlama bilgisi gerekebilir. Onu da şurada anlattım: Bash dersi

3. Son bölüm

Son bölümde örnek daha iyi anlaşılsın diye git reposunda hangi branchta olduğumuzu gösteren PS1 değerini anlatacağım. Bunun için öncelikle bir fonksion tanımlayıp branch adını çekmemiz gerekiyor.

git_branch_name() {
    git branch 2>/dev/null | sed "s/^\* //"
}
export PS1="\[\033[1m\]$$|\u@\h \[\033[0;31m\]\W \[\033[0;35m\](\$(git_branch_name)) \[\033[0;32m\] \$ \[\033[00m\]"

6 Beğeni

Bu konu son cevaptan 10 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.