Bash nedir?

Biwkan

Hectopat
Katılım
20 Eylül 2020
Mesajlar
734
Çözümler
10
Merhaba, bazı programcıların bilgisayarlarında geliştirme ortamlarını oluşturdukları videoları izliyorum ve genelinin yaptığı bir şey var: Bash değiştirmek(?). Bash'in ne olduğunu bu arkadaşların bu değiştirme işlemini yaptıktan sonra neyin değiştiğini merak ediyorum. Kısa bir araştırma sonucu GNU sistemlerde olduğunu öğrendim. Örnek olarak aşağıdaki videoda dakika 15:25'de yaptığı şey.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Edit: Yanlış anlamışım pardon.
Daha detaylı açıklamanız mümkün mü? Videodaki arkadaş ne yapıyor mesela bahsettiğim kısımda? Ve o değişikliği yapınca ne gibi bir avantajı oluyor.
 
MacOS hakkında bir bilgim yok ama hem GNU/Linux'ta hem de MacOS'te Bash, kabuk(shell) olarak geçer. GNU/Linux'ta Bash yerine Fish, ZSH gibi kabukları da kullanabilirsiniz. Değişiklik olarak ise otomatik tamamlama, temalama gibi değişiklikler olabilir.

Bash'in Ubuntu'daki stok görünüşü şu şekilde(Başka dağıtımlarda farklı gözükebilir.):


Bash'te yarım bırakılmış komut:


Fish'in stok görünümü:


Fish'te yarım bırakılmış komut:


Fish'te tamamlanmış komut:

 
Uçbirime "sudo apt update" komutuyla "depo listesini güncelle" dediğimde hiç bir şey yapmaz, çünkü o komutu sisteme bildirecek aklı başında kimse yoktur.
İşte burada devreye bash girer, komutu gerekli yerlere göndererek işlevin yürütülmesini sağlar.

Bu birinci işlemdi, bir de ikinci işlemi var.
Eğer salt sudo apt update gibi bilinen komutlarla yetinecek olursak gelişim sağlayamayız, mevcut sistemin gelişimi nötr pozisyonda kalır.
O zaman bash ile komut üretmek ve geliştirmek gibi bir durumla karşı karşıyayız.
Örneğin birileri Ubuntu'da eski çekirdeği silmek için alttaki komutu geliştirmiş.
apt-get --purge remove $(dpkg --list | egrep -i 'linux-image|linux-headers' | awk '/ii/{ print $2}' | egrep -v "$i")
Bir başkası da bash ile aynı işlevi yapan bu komutu geliştirmiş.
sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | grep -v "linux-libc"| xargs sudo apt-get -y purge

Anlaşılacağı gibi bash bir yandan komut yürütme işini yaparken bir yandan da sınırsız gelişime müsait bir yazılım.
Kendim yazılım bilmem ama bash ile gayet güzel oynayabiliyor, uyarlama yapabiliyor ve yenilik katabiliyorum. Örneğin kendi dağıtımımda 250'nin üzerindeki aktiviteyi bash ile yaptım ve hiç biri alıntı veya kopya değil, kendi deneme-yanılma metoduyla yaptım ve geliştirmeye devam ediyorum.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…