**Bash** (**B**ourne **A**gain **Sh**ell) GNUk sortutako shell bat da eta GNU/Linux sistema gehienetan aurki daiteke. Bash tresna bat da fitxategi exekutagarri sinpleak egiteko, erabiltzaile batek adierazten dizkion komandoak exekutatzen dituena. 

Laburbilduz, Linuxeko kernelaren eta erabiltzaileen arteko interfaze moduan funtzionatzen du Bashak.

Historia
--------

1978. urtean, Stephen Bournek Bourne izeneko sistema interpretatzaile **baten** oinarriak garatu zituen. Honek onarpen maila handia izan zuen, Unix Sistemetan interprete erabiliena bilakatu baitzen.

Nolanahi ere, hamar urte beranduago Bourne softwarearekin zuen desadostasunak bultzatuta, Richard Stallmanek proiektu hori hobetzea proposatu zuen. Hala, lana hobetzeko asmoz hasi zen Bash proiektua. 

1989ko urtarrilaren 10ean, Brian Fox informatikariak Bash komando interpretatzailea sortu zuen. Urte bat beranduago, Chet Ramey proiektuan sartu eta Brian Foxekin batera lanean hasi zen. Elkarrekin, kodeari lotutako arazo batzuk konpondu eta interpretatzailearen ezaugarri berriak inplementatu zituzten. Brian Fox proiektuko buru gisa jardun zuen 1992ra arte; baina 1994. urtean bere erantzunkizuna Chet Rameyk hartu zuen. Handik aurrera, Bash komando interpretatzailea GNU/Linuxeko shellik ezagunena bilakatu da, gero eta ospe handiagoa bereganatuz.

Erabilera
---------

Oro har, kolore beltzeko testu-leiho batean exekutatzen da; non erabiltzaileak komandoak idatz ditzakeen. Leiho horretan kurtsore keinukari bat ageri da, *prompt* izenekoa.

* Kurtsorearen ezkerrean erabiltzailearen eta gailuaren izena ageri dira @ karaktereaz bananduta. Ondoren bi puntu ageri dira eta uneko direktorioaren bidea edo *path*a dago. Bukaeran $ edo # karaktereak ager daitezke, erabiltzailearen baimenen arabera.

* Kurtsorearen eskuinean, ordea, exekutatu nahi den komandoa adierazteko eremua dago. Bash komando intepretatzaileak aginduak lerroz lerro exekutatu eta emaitzak pantailan aurkezten ditu.

```
 erabiltzailea@gailuarenIzena:/path$ [KOMANDOA]
```

Bash scriptak
-------------

Bash scriptak exekuzio baimena duten testu fitxategiak dira, Bashen antzeko shellek ulertu eta exekutatu ditzaketenak. Sistemaren komandoz osatutako zerrenda antzekoak dira, mota askotariko eragiketak egiteko aukera ematen dutenak.

Ezin da benetako programazio-lengoaiatzat hartu, izatez, sistemaren shell batek interpretatu behar baititu lerroz lerro bere barneko aginduak. Oso tresna erabiliak eta garrantzitsuak dira, aukera ematen baitute sistemako eragiketa errepikakorrak eta konplexuak automatizatzeko.

Terminalean bertan sortu daitezke fitxategi hauek testu-editore sinple bat erabiliz eta sortutako fitxategi horri .sh luzapena ematen zaio:

```
vim nirescripta.sh
```

Script baten hasierako lerroan, *shebang* izeneko karaktere multzo bat adierazten da, scripta zein komando interpretek exekutatuko duen adierazteko. Horren ondoren, komando zerrenda bat idatzi behar da, dagokion interpreteak, Bashak kasu, exekutatu dezan:

```
#!/bin/bash
echo "Hona hemen adibide bat."

```
Idatzitako scripta exekutatuz gero terminalean ondorengo emaitza lortzen da:

```
$ Hona hemen adibide bat.
```

Erreferentziak
--------------

1. ↑   «FAQ sobre Linux - es.comp.os.linux.\*: Bash shell/Comandos básicos: �Qué es un shell? / Historia sobre Bash» *www.escomposlinux.org* (Noiz kontsultatua: 2022-12-09).
2. ↑   **(Ingelesez)** «What is Bash? | Opensource.com» *opensource.com* (Noiz kontsultatua: 2022-12-09).

Ikus, gainera
-------------

* Linux
* Unix
* GNU-Linux
* Shell
* Komando interpretatzailea

Kanpo estekak
-------------

* **(Ingelesez)** Bash-ren webgunea.
* **(Ingelesez)** Bash tutoriala.
* **(Ingelesez)** Bash tutorial aurreratua.
* **(Ingelesez)** Bash debugger-a.

|  |  |
| --- | --- |
| Autoritate kontrola | 
* **Wikimedia proiektuak**
* Wd Datuak: Q189248
* Commonscat Multimedia: GNU Bash

---

* **Identifikadoreak**
* BNF: 125416570 (data)
* GND: 4492523-2
* SUDOC: 034688234

 |

* Wd Datuak: Q189248
* Commonscat Multimedia: GNU Bash