Artikelformat

[Mac/Linux] Bash 4.0

Bild 826.jpg

Die Standard-Shell in der UNIX/Linux/OSX-Welt hat einen weiteren Quantensprung genommen und hat eine neue Version erreicht. Viele Fehler der letzten Version 3.2 wurden gefixt, aber diese neue Version bietet auch sehr viele neue Features, die einen so großen Versionssprung rechtfertigen:

coproc

Ab Version 4.0 kann die Bash-Shell eine neue Shell im Hintergrund starten und mit ihren Input- und Output-Streams kommunizieren.

Brace expansion

ein Beispiel sagt mehr als tausend Worte:

$ echo {5..12}
5 6 7 8 9 10 11 12

$ echo 1.{0..9}
1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9

Und noch viele Dinge mehr wie zB. Pathname expansion (globbing), Associative Arrays, einen neuen Redirection Operator … und wer mehr wissen will, hier lang: klick
Den Source-Code bekommt man z. B. unter ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0.tar.gz

Mac OS X: die neue Version lässt sich recht gut auch unter OS X kompilieren und testen (tar zxvf packet.tar.gz & configure & make), XCode vorausgesetzt

Links
http://www.bash-hackers.org/wiki/doku.php/bash4
ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0.tar.gz

Autor: Oliver

Ich bin Oliver und habe den aptgetupdateDE Blog im Juli 2007 aus der Taufe gehoben. Man findet mich auch auf Twitter.

10 Kommentare

  1. Hm, also dein Beispiel funktioniert unter der 3.2 auch.
    Ich verwende brace expansion schon längere Zeit.

  2. Die Neuerungen in 4.0 sind aber nur wirklich interessant wenn man oefter mal ein Shell-Skript schreibt, oder?

  3. Ich würde die Bash trotzdem nicht als „Standard-Shell in der UNIX/Linux/OSX-Welt“ bezeichnen. Linux ja, OSX weiss ich nicht. UNIX eigentlich nicht so.

  4. Nuja, die Korn und die Z auf jeden Fall. „Standard“ eher die Korn.

    Unter Solaris wird es noch eine Zeitlang diese Solaris Shell geben, anders als SuSE und Co. wird bei Sun sehr auf Kompatiblität wert gelegt (nein, ich kann diese Shell auch nicht leiden…).

    In jeden Fall gibt es auf fast jedem System eine Bash zum Installieren, von daher ist es in der Praxis eigentlich egal was als Standardshell läuft.

    Fällt mir gerade ein: Die Standardshell auf Debian oder Ubuntu ist auch keine Bash soweit ich weiss.

    • Hast Du es ausprobiert ? Bin auf Deinen Erfahrungsbericht gespannt und ob es nicht geeignet ist manchmal leichter ans Ziel zu kommen…