İçeriğe atla

Bash

Bash
Bir Bash oturumunun ekran görüntüsü
Geliştirici(ler)GNU Projesi
Güncel sürüm5.2.37 / 23 Eylül 2024
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

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

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

Kaynakça

  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:


İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Linux</span> Bir işletim sistemi çekirdeği

Linux ; Linux çekirdeğine dayalı, açık kaynak kodlu, Unix benzeri bir işletim sistemi ailesidir. GNU Genel Kamu Lisansı versiyon 2 ile sunulan ve Linux Vakfı çatısı altında geliştirilen bir özgür yazılım projesidir. Linux ismi ilk geliştiricisi olan Linus Torvalds tarafından 1991 yılında verilmiştir. Günümüzde süper bilgisayarlarda, akıllı cihazların ve internet altyapısında kullanılan cihazların işletim sistemlerinde yaygın olarak kullanılmaktadır. Bunlardan en popüler olanı Google tarafından geliştirilen Android işletim sistemidir.

<span class="mw-page-title-main">Özgür yazılım</span> belirli kullanıcı kullanım, kopyalama, değiştirme, yeniden dağıtma özgürlüğünün (değiştirilmiş dahil) mevcut olduğu yazılım

Özgür yazılım, kullanıcısına yazılımı herhangi bir amaç için çalıştırma, inceleme, değiştirme ve dağıtma özgürlükleri tanıyan yazılım türüdür. Tersi, özel mülk yazılımdır.

<span class="mw-page-title-main">GNU</span> bilgisayar işletim sistemi

GNU; çekirdeği, sistem araçlarını, açıcılarını, kütüphanelerini ve son kullanıcı yazılımlarını içeren, GNU Tasarısı kapsamında geliştirilen bir işletim sistemidir. İsminin açılımı "GNU's Not Unix" dir. Bu ismi almasındaki sebep de tasarımının Unix'e benzerken kendisinin özgür yazılım olması ve herhangi bir UNIX kodunu içermemesidir.

<span class="mw-page-title-main">Richard Stallman</span> ABDli özgür yazılım aktivisti

Richard Matthew Stallman, Amerikalı özgür yazılım aktivisti, sistem uzmanı ve yazılım geliştiricisi. GNU Projesi ve Özgür Yazılım Vakfı'nın kurucusudur.

Özgür Yazılım Vakfı, özgür yazılım hareketi ve GNU projesini desteklemek üzere 4 Ekim 1985 tarihinde Richard Stallman tarafından kurulan, 4 temel yazılım özgürlüğünü savunan ve bu özgürlüklerin copyleft lisanslar ile korunmasını tercih eden, kâr amacı gütmeyen bir sivil toplum örgütüdür.

<span class="mw-page-title-main">AWK</span>

AWK, Alfred Aho, Peter Weinberger ve Brian Kernighan tarafından 1977 yılında geliştirilmiş ve ilk olarak Unix Version 7 ile yayınlanmış bir programlama dilidir. C gibi derlenen dillerden farklı olarak yorumlanan bir betik dilidir ve günümüzde özellikle sed ve Kabuk programlamada kullanılmaktadır.

<span class="mw-page-title-main">Emacs</span> genişletilebilirlik yönünden birbirine benzeyen ve ilişkili metin editörlerinin genel adı

Emacs, özellikle genişletilebilirlik yönünden birbirine benzeyen ve ilişkili metin düzenleyicilerin genel adıdır. Bu metin düzenleyicilerin en yaygını GNU Emacs olduğundan, sıklıkla GNU Emacs yerine kullanılır.

Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir. Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin erken uygulanmasına dayanarak geliştirildi.

cat (Unix) komut satırı programı

cat, dosyaları sırasıyla okuyan ve standart çıktıya yazan POSIX standartlı bir Unix komutudur.

<span class="mw-page-title-main">GNU Projesi</span> Özgür yazılım projesi

GNU Tasarısı, toplu işbirliğini temel alan bir özgür yazılım tasarısıdır. Richard Stallman tarafından Massachusetts Teknoloji Enstitüsü'nde 27 Eylül 1983 tarihinde kamuoyuna duyurulmuştur. Tasarının hedefi işbirliği yoluyla özgür yazılımlar geliştirip dağıtarak bilgisayar kullanıcılarının bilgisayarlarını ve benzeri araçlarını kendi istekleri doğrultusunda özgürce kullanmalarını sağlamaktır. Bu tasarının temelinde kullanıcıların yazılımı çalıştırma, paylaşma, inceleme ve değiştirme konularında özgür olmaları yatar. GNU yazılımları bu özgürlükleri dağıtıldıkları lisans ile yasal olarak güvence altına alır, dolayısıyla GNU yazılımları özgür yazılımlardır.

<span class="mw-page-title-main">Linux-libre</span>

Linux-libre, Linux çekirdeğinin değiştirilmiş sürümlerinden sağlanan bir GNU paketi ve işletim sistemi çekirdeğidir. Bu tasarının hedefi kaynak kodu olmayan, kod şaşırtması bulunan ve özgür olmayan her yazılımın Linux çekirdeğinden çıkarılmasıdır.

Açık kaynak ve [ÖAKK] gibi ücretsiz yazılımlar için alternatif terimler, 1990'ların sonlarından itibaren Özgür Yazılım ve Açık kaynaklı yazılım kullanıcıları arasında tartışmalı bir konu olmuştur. Bu terimler hemen hemen aynı lisans kriterleri paylaşmaktadır.

<i>Özgür Yazılım, Özgür Toplum</i>

Özgür Yazılım, Özgür Toplum, Richard M. Stallman'ın seçme yazılarından, çoğunlukla denemelerden, nadiren makalelerden ve röportajlardan, oluşmaktadır.

Hindistan Özgür Yazılım Vakfı (FSFI), ABD merkezli Özgür Yazılım Vakfı'nın Hindistan'daki kardeş kuruluşudur. Kerala'nın başkenti Thiruvananthapuram'da (Trivandrum) 2001 yılında kar amacı gütmeyen bir vakıf olarak kurulmuştur. FSFI, Hindistan'da özgür yazılım'ın kullanımı ve geliştirilmesini teşvik etmek için mücadele veriyor. Vakıf aynı zamanda insanlara özgür yazılım konseptini öğretmeyi ve Hindistan gibi gelişen bir ülkeye katkılarını anlatmayı ilke ediniyor. FSF Hindistan, özgür olmayan yazılımları çözüm olarak değil, çözülmesi gereken bir sorun olarak görüyor. Hindistan'da özgür yazılıma bazen yerel olarak swatantra yazılımı da deniyor.

<span class="mw-page-title-main">Brian Fox</span>

Brian Jhan Fox, 1959 yılında doğmuş Amerikalı bir bilgisayar programcısı ve özgür yazılım aktivistidir. Haziran 1989'da beta sürümünü paylaştığı GNU Bash kabuğunun başyazarıdır. Fox ayrıca 1995'te Wells Fargo şirketi için ilk interaktif online banka yazılımını ve 2008'de özgür bir seçim sistemi yazılımı yazmıştır.

LibrePlanet Özgür Yazılım Vakfı tarafından oluşturulan ve desteklenen bir topluluk projesidir. Hedefi yerel toplulukları ve kuruluşları bir araya getirerek yıllık bir konferans düzenlemek ve Özgür Yazılım'ın dünya çapında tanınmasını sağlamaktır.

<span class="mw-page-title-main">Zsh</span>

Zsh, etkileşimli oturum açma kabuğu ve kabuk betikleri oluşturmak için komut yorumlayıcısı olarak kullanılabilen bir Unix kabuğudur. Bash, ksh ve tcsh'nin bazı özelliklerinin yanı sıra, birçok iyileştirme içeren, genişletilmiş bir Bourne kabuğudur.

<span class="mw-page-title-main">Unix shell</span> Unix işletim sistemi için yorumlayıcı program

Unix shell, Unix benzeri işletim sistemleri için bir komut satırı kullanıcı arabirimi sağlayan bir komut satırı yorumlayıcısı veya kabuğudur. Kabuk, hem etkileşimli bir komut dili hem de bir komut dosyası dilidir ve işletim sistemi tarafından sistemin kabuk komut dosyalarını kullanarak yürütülmesini kontrol etmek için kullanılır.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Linux için Windows Alt Sistemi

Windows Subsystem for Linux (WSL), Windows 10, Windows 11, Windows Server 2019 ve Windows Server 2022 üzerinde yerel olarak Linux ikili yürütülebilir dosyalarını çalıştırmak için kullanılan uyumluluk katmanıdır.

type (Unix)

type, Unix ve Unix-benzeri işletim sistemlerinde, komut satırı satırı argümanlarını komut adları olarak kullanıldığında nasıl yorumlanacaklarını açıklayan bir komuttur.