BASH

De "Bourne Again SHell"

de Bourne Again SHell

De Bourne Again SHell is de standaard bij de meeste Linux distributies en is gereleased in 1989 en geschreven door/voor GNU en is daarom ook de GNU Project shell. Gebaseerd op de bourne shell van UNIX en eigenschappen van Korn Shell (ksh) en C Shell (csh). Het is gemaakt om compatibel te zijn met de IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. en het bied functionele verbeteringen over sh (de bourne shell) voor zowel programmeren als interactief gebruik. Verder werken de meeste scripts voor sh op bash zonder aangepast te moeten worden.

Enkele van de verbeteringen ten opzichte van sh zijn:
  • Command line editing.
  • Ongelimiteerde grootte van commando historiek.
  • Job control.
  • Shell functies en Aliassen.
  • Geïndexeerde arrays van ongelimiteerde grootte.
  • Integer arithmetic in any base from two to sixty-four (berekeningen met gehele getallen in elke base van 2 tot 64).

Het laatste base moet misschien even beter uitgelegd worden. Het base verwijst naar hoe getallen worden weergegeven, zo werken wij mensen zo goed als altijd met base 10 of getallen van 0 tot 9, of decimaal. base 2 heeft er maar 2 (1 en 0) en wordt dus vaker binair genoemd. Dit is zoals jullie wel weten het enige wat een computer begrijpt. Een andere veel gebruikt systeem in de computer industrie is de base 16 of Hexadecimaal, dit systeem gebruikt de getallen 0 tot 9 ýn de letters A tot F. Hexadicimaal wort bijvoorbeeld gebruikt voor IPv6 IP adressen en netwerk hardware MAC (Media Access Control) adressen zoals bijvoorbeeld 00:A0:C9:14:C8:29

BASH heeft oa. de volgende opstart opties:
  • -l : bash gedaagd zich alsof het is opgestart als login shell
  • -i : interactieve modus
  • -r : restricted modus, deze modus werkt hetzelfde als de gewone modus met enkele beperkingen.
    • Directory veranderen met cd is niet mogelijk.
    • De variabelen SHELL, PATH, ENV of BASH_ENV kunnen niet ingesteld/veranderd worden.
    • Het gebruik van commando's met / in de naam is niet mogelijk.
    • Het gebruik van bestanden met / als argument aan het ingebouwde . commando of als argument voor de -p optie tot het ingebouwde hash commando is niet mogelijk.
    • Functie definities importeren vanaf de shell omgeving tijdens het opstarten is niet mogelijk.
    • etc.
Er zijn ook enkele zogenaamde multi-character options, belangrijk is dat deze opties gebruikt worden voor de bovenvermelde single-character shell options, anders werken ze niet. Enkele mogelijkheden zijn
  • --debugger.
  • --help
  • --noediting : Gebruik de GNU readline bibliotheek niet om de commandoregel te lezen als de shell interactief gebruikt word.
  • ...

De mogelijkheden van Bash zijn enorm (neem maar eens een kijkje in de manpages of infopages van Bash.)

Ook zal de Unix Shells-pagina van Hyperpolyglot veel handige informatie bieden, niet enkel over Bash maar nog enkele andere veel gebruikte Shell's.