Bash

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. Solaris 11'in de varsayılan kullanıcı betiğidir. 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

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.

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. 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, çeşitli yazılımlar aracılığıyla ArcaOS ve Android gibi ortamlara dağıtıldı.

Özellikleri

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

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

[ -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

 Sürüm Çıkış Tarihi Çıkış notları bash-5.1 2020-12-07github version history NEWS  bash-5.0 2019-01-07 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-15github version history NEWS v4.4  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

 sh
 csh
 ksh
 tcsh
 zsh

Kaynakça

Kategori:Özgür yazılım
Kategori:Araştırma projeleri
Kategori:Unix
Kategori:Betik dilleri
Kategori:Metin tabanlı programlama dilleri
Kategori:GNU Projesi yazılımları
Kategori:1989 yazılımları
Kategori:Ücretsiz çapraz platform yazılımları
Kategori:C ile programlanmış özgür yazılımlar