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 "**B**ourne-**a**gain **sh**ell" 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


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

## Ayrıca bakınız

* sh
* csh
* ksh
* tcsh
* zsh

## Kaynakça