Buch: Zsh – Die magische Shell
Das Buch “Zsh – Die magische Shell” von Julius Plenz und Sven Guckes (ISBN-13: 978-3937514598) ist frisch erschienen. Ich habe eine Vorabversion als PDF erhalten und nachdem jetzt auch die Hardcopy-Version auf meinem Schreibtisch liegt, möchte ich als Zsh-Liebhaber natürlich was dazu schreiben.
Das Zsh-Buch von Julius und Sven ist die erste deutsche Dokumentation zu der besten aller interaktiven Shells in diesem Umfang (-> 221 Seiten). Wie immer zuerst einmal das Inhaltsverzeichnis zum Überblick:
1. Einleitung
2. Kommandos schneller eingeben
3. Dateien, Ausgaben und Programmaufrufe
4. Die Z-Shell interaktiv verwenden
5. Skripting: Kontrollstrukturen und Variablen
6. Widgets und Completions selbst erstellen
Julius und Sven vergessen die Erwähnung von is-at-least nicht, warnen vor der unkontrollierten Verwendung von globalen Aliases und lassen auch nette Features wie precmd und preexec nicht unerwähnt. Unterschiede wie “$#” (Anzahl der übergebenen Argumente) vs. “$@” (Argumente in einzelne Wörter aufgeteilt) und “$*” (Array mit allen Argumenten) werden ebenso behandelt wie die effiziente Verwendung der Zsh im interaktiven Modus. Ein paar Tipps waren auch mir neu – mitgenommen habe ich z.B. ‘autoload -U keeper && keeper’ und das Ausgeben all jener Kommandos, die noch keine eigene Completion-Funktion in der Zsh haben:
check_comp() { ((! $+_comps[$1])) && print "$1 hat noch keine Completion-Funktion" } for f ($^path/*(:t)) check_comp "$f"
Für jene Leser, die nicht sowieso schon die Zsh-Konfig von grml verwenden ;-) wird auch eine minimale brauchbare Konfiguration geliefert:
setopt no_beep auto_cd complete_in_word correct rm_star_wait eval `dircolors` PROMPT='%n@%m:%~%# ' export EDITOR=lieblings-editor export PAGER=less autoload -U compinit && compinit
Die Dokumentation von Globbing im Kapitel 3 und der Completion-Konfiguration mittels zstyle im Kapitel 4 führen schön in die sehr mächtigen und leider gerade beim Zsh-Einstieg nicht gerade einfachen Themen ein. Wer dann aber einmal Nettigkeiten wie “scp $server:*.pdf(D.om[1]) .” (also die neueste PDF-Datei im $HOME-Verzeichnis von $server via SCP kopieren) kennt und dank dem Buch auch versteht, hat auf der Kommandozeile einfach mehr Spass.
Wer die Zsh bereits verwendet und mehr über diese wissen will: das Buch gehört in dein Bücherregal. Wer die Zsh noch nicht verwendet, ist eh selbst schuld. 8-)
October 12th, 2008 at 09:35
Ich habe tatsächlich inzwischen die grml-zsh-config auf allen meinen rechnern verteilt… nachdem und weil genau die mich überhaupt erst zur zsh gebracht hat.