
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

23/02/2009 @ 23:52
Hm, also dein Beispiel funktioniert unter der 3.2 auch.
Ich verwende brace expansion schon längere Zeit.
24/02/2009 @ 00:08
@Flo: stimmt, aber einige Sachen haben sich geändert:
zB.
paris:bash-3.2 olif$ echo {0001..5}
1 2 3 4 5
paris:bash-4.0 olif$ ./bash
bash-4.0$ echo {0001..5}
0001 0002 0003 0004 0005
weitere Neuerungen http://www.bash-hackers.org/wiki/doku.php/syntax/expansion/brace#new_in_bash_4.0
24/02/2009 @ 10:20
Die Neuerungen in 4.0 sind aber nur wirklich interessant wenn man oefter mal ein Shell-Skript schreibt, oder?
24/02/2009 @ 10:45
yihha … danke für die news … das kann ich sehr gut gebrauchen ;)
02/04/2009 @ 06:55
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.
02/04/2009 @ 07:20
@TheBonsai: OS X auf jeden Fall, (Open-)Solaris doch mittlerweile auch, ok was bleibt noch? ZSH oder die alte SH? was verwendet den FreeBSD usw?
02/04/2009 @ 09:59
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.
20/08/2010 @ 00:17
There is an oo-style String library for bash 4 now. Written in bash. Support for german umlauts. Simply source and use…
http://sourceforge.net/projects/oobash/
20/08/2010 @ 10:29
danke danke danke … ! oobash darauf hab ich gewartet!
24/08/2010 @ 21:21
Hast Du es ausprobiert ? Bin auf Deinen Erfahrungsbericht gespannt und ob es nicht geeignet ist manchmal leichter ans Ziel zu kommen…