Gründe für die zsh
- Coolere Completion
- Unterstützt die Bash Completion. Postgres
Bash Completion mit der ZSH zu nutzen
- Einfache Moglichkeit um für GNU Programme eine Basis Completion zu erstellen. Siehe Fires
blog
- Menues bei der Completion. Z.bsp. bei man
Completion oder kill menus...
- Autocorrection, d.h. cd /Etc wird zu /etc/
- Problemlos erweiterbar, so dass z.bsp. Hostnamen aus ~/.ssh/config und
~/.ssh/known_hosts ausgelesen werden
- ignore-parent-cwd: cd ../ listet nicht das aktuelle Verzeichniss
- Modifier, z.bsp. print *(/) gibt nur Verzeichnisse zurück.
- Es gibt einen Right Prompt. Z.Bsp. hier
- Es besteht die Moglichkeit seine Kommandozeile im Editor zu bearbeiten näheres
hier
- Globale Aliase. z.Bsp.:
alias -g G="|grep"
alias -g GG="2>&1|grep"
ps axuf G init # wird jetzt zu ps axuf | grep init
- autocd, d.h. wenn man ein Verzeichniss angibt wird reingewechselt
- hashed Directorys. Beispiel:
$ hash -d doc=/usr/share/doc
$ cd ~doc
$ pwd
/usr/share/doc
- Die Bash baut vieles nach was die zsh hat aber eben nicht komplett. Bsp.:
$ echo {01..05} # bash3
$ 1 2 3 4 5
$ echo {01..05} # zsh
$ 01 02 03 04 05
- < $datei übergibt $datei an den Pager zum anschauen.
- =($cmd) erzeugt ein Tempfile aus der Ausgabe von $cmd
mutt -f =(zcat mailbox.gz)
- Tetris. Das wichtigste überhaupt: autoload tetris
Falls ich weitere Gründe vergessen haben sollte, einfach per jabber
(schula@jabber.ulm.ccc.de) melden
Update:
- Shared History, d.h. mehrere Shells teilen sich die History
- Incremental write, d.h. die History wird sofort geschrieben.
Die beiden Punkte sind sehr interessant für Leute die sehr viele Shells offen haben.