Bash

Vikipedi, özgür ansiklopedi

Bash
Bir Bash oturumunun ekran görüntüsü
Geliştirici(ler)GNU Projesi
Güncel sürüm5.1 / 27 Temmuz 2012
Programlama diliC
İşletim sistemiKurulum desteği: Unix benzeri
Açtığı sistemler: Platform bağımsız
PlatformGNU
ErişilebilirlikÇokdilli
TürUnix kabuğu, Komut satırı
LisansGPLv3
Resmî sitesignu.org/software/bash/
Kod deposu Bunu Vikiveri'de düzenleyin

Bash, Brian Fox tarafından GNU Projesi için Bourne kabuğuna özgür yazılım alternatifi olarak yazılmış, Unix ve benzeri işletim sistemlerinde kullanılan komut satırı kabuğu ve bu kabuğun betik dilidir. GNU Tasarısı'nın parçasıdır ve birçok GNU/Linux dağıtımında ön tanımlı kabuk olarak gelir. Ayrıca bir versiyonu Windows 10 için Linux İçin Windows Alt Sistemi aracılığıyla mevcuttur.[1] Solaris 11'in de varsayılan kullanıcı betiğidir.[2] Bash ayrıca 2019 öncesinde çıkan tüm MacOS sürümlerinde varsayılan kabuktu.

Bash, genellikle yazı pencerelerinde çalışan bir komut istemcisidir. Kullanıcıların pencerede yazdığı komutlar bu istemci tarafından eyleme dökülür. Bash ayrıca kabuk betik dili denilen dosyaları okuyup çalıştırabilir.

İsmi, Bourne kabuğunun yerine geçtiğini belirten bir kelime oyunu olan "Bourne-again shell" kelimelerinin kısaltılmasıyla oluşmuştur.

Tarihçe[değiştir | kaynağı değiştir]

Brian Fox, Richard Stallman'ın aynı amacı güden bir proje üzerine çalışan yazılımcının yavaşlığından memnuniyetsiz olması üzerine 10 Ocak 1988'de Bash'i kodlamaya başladı. Stallman ve Özgür Yazılım Vakfı (FSF), BSD ve GNU yazılımlarını kayda değer kılmak ve tam anlamıyla özgür işletim sistemleri olabilmeleri için özgür bir kabuğun gerekliliğini dillendiriyorlardı, ve Fox da bu amaçla FSF'de işe alındı. Fox, Bash'in ilk beta sürümü olan versiyon .99'u 8 Haziran 1989'da yayınladı ve 1992-1994 arasına kadar proje yöneticiliğini sürdürdü. FSF'den ayrılışının ardından makamını Chet Ramey isimli bir erken geliştiriciye devretti.[3][4][5]

Zamanla Bash, Linux kullanıcıları arasında en çok tercih edilen kabuk haline geldi ve Linux dağıtımlarının varsayılan kabuğu oldu.[5][6] Bash ayrıca Microsoft Windows'a taşındı ve Cygwin, MinGW ve DJGPP aracılığıyla DOS'a, GNV projesi aracılığıyla Netware ve OpenVMS'ye,[7] çeşitli yazılımlar aracılığıyla ArcaOS[8] ve Android gibi ortamlara dağıtıldı.

Özellikleri[değiştir | kaynağı değiştir]

Bash, orijinal Unix Bourne kabuğundan esinlendiği için sh ile uyumludur. Dizin yönetimi, iş kontrolü, alias'lar gibi Korn ve C kabuğunun önemli özelliklerini içermektedir. Bash tek kelimeden oluşan komut satırı seçenekleriyle (-a, -b, -c, -i, -l, -r, vs.) veya—debugger, --help, --login vs. gibi çok karakterli seçeneklerle uyarılabilir. Başlatıcı dosyaları, Bash'in açılırken okuyup çalıştırdığı dosyalardır. Bash kişiselleştirilebilir birçok kısayoldan oluşur. Ayrıca Bash ortam güvenliği için kısıtlı bir mod içerir. Kabuk, --restricted veya bash -r opsiyonlarıyla ya da oturumun rbash olarak adlandırılması durumunda kısıtlı moda geçir.

Başlatıcı betikler[değiştir | kaynağı değiştir]

Bash başlatıldığı zaman çeşitli dot dosyalarındaki komutları okuyup çalıştırır. Bash kabuk dosyalarından farklı olarak dot dosyaları çalıştırma iznine sahip değildir veya başlarında #!/bin/bash gibi bir derleyici yönergesi yoktur.

Bash başlatıcı komut örneği[değiştir | kaynağı değiştir]

[ -r ~/.profile ] && . ~/.profile             # ortamı hazırlas if [ -n "$PS1" ] ; then                       # biz interaktif miyiz?    [ -r ~/.bashrc     ] && . ~/.bashrc        # interaktif kabuklar için tty/prompt/function kurulumu    [ -r ~/.bash_login ] && . ~/.bash_login    # yalnızca giriş kabukları için at-login görevleri fi                                            # "if" bloğunun sonu 

Sürüm geçmişi[değiştir | kaynağı değiştir]

Sürüm Çıkış Tarihi Çıkış notları
bash-5.1 2020-12-07 github version history NEWS 9 Ocak 2022 tarihinde Wayback Machine sitesinde arşivlendi.[9]
bash-5.0 2019-01-07 [10][11][12]
bash-5.0-rc1 2018-12-20
bash-5.0-beta2 2018-11-28
bash-5.0-beta 2018-09-17
bash-5.0-alpha 2018-05-22
bash-4.4 2016-09-15 github version history NEWS v4.4 11 Ocak 2022 tarihinde Wayback Machine sitesinde arşivlendi.
bash-4.4-rc2 2016-08-22
bash-4.4-rc1 2016-02-24
bash-4.4-beta2 2016-07-11
bash-4.4-beta 2015-10-12
bash-4.3 2014-02-26
bash-4.2 2011-02-13
bash-4.1 2009-12-31
bash-4.0 2009-02-20
bash-4.0-rc1 2009-01-12
bash-3.2 2006-10-11
bash-3.1 2005-12-08
bash-3.0 2004-08-03
bash-2.05b 2002-07-17
bash-2.05a 2001-11-16
bash-2.05 2001-04-09
bash-2.04 2000-03-21
bash-2.03 1999-02-19
bash-2.02 1998-04-18
bash-2.01 1997-06-05
bash-2.0 1996-12-31

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "Arşivlenmiş kopya". 8 Mart 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  2. ^ "Arşivlenmiş kopya". 12 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  3. ^ "Arşivlenmiş kopya". 10 Kasım 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  4. ^ "Arşivlenmiş kopya". 10 Kasım 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  5. ^ a b "Arşivlenmiş kopya". 10 Kasım 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  6. ^ Arman Danesh & Michael Jang (2006). "Mastering Linux". John Wiley & Sons. s. 363. 5 Haziran 2023 tarihinde kaynağından arşivlendi. 
  7. ^ "Arşivlenmiş kopya". 3 Ekim 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  8. ^ "Arşivlenmiş kopya". 23 Eylül 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Şubat 2021. 
  9. ^ "BashFAQ/061 - Greg's Wiki". mywiki.wooledge.org. 2 Mart 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mart 2021. 
  10. ^ "github version history NEWS v5.0". GitHub (İngilizce). 10 Eylül 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mart 2021. 
  11. ^ "Bash changes [Bash Hackers Wiki]". 18 Mart 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Kasım 2019. 
  12. ^ "Bash-5.0 release available". lists.gnu.org. 8 Kasım 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Mart 2021. 
Vikikitap
Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var: