Dieses Buch geht davon aus, dass Ihre Login-Shell die bash ist. Wenn sie es jedoch nicht ist, hilft Ihnen Tabelle B-1, die Beispiele aus diesem Buch für andere Shells anzupassen. Das Häkchen bedeutet Kompatibilität – die angegebene Eigenschaft ist derjenigen der bash ähnlich genug, sodass die Beispiele aus dem Buch korrekt laufen sollten. Allerdings kann sich das Verhalten der Eigenschaft in anderer Weise von dem der bash unterscheiden. Lesen Sie sorgfältig alle Fußnoten.
Hinweis Unabhängig davon, welche Shell Ihre Login-Shell ist, werden Skripte, die mit #!/bin/bash beginnen, von der bash verarbeitet. |
Um mit einer anderen Shell zu experimentieren, die auf Ihrem System installiert ist, führen Sie sie einfach mit ihrem Namen aus (zum Beispiel ksh). Drücken Sie Strg-D, wenn Sie fertig sind. Um Ihre Login-Shell zu ändern, lesen Sie man chsh.
Tabelle B-1: bash-Eigenschaften, die von anderen Shells unterstützt werden, in alphabetischer Reihenfolge
1Eigene Befehlsvervollständigung mit dem Befehl complete oder etwas Ähnlichem, unterscheidet sich signifikant von Shell zu Shell; lesen Sie die Manpage der Shell.
2Funktionen: Diese Shell unterstützt keine Definitionen im neueren Stil, die mit dem Schlüsselwort function beginnen.
3Die inkrementelle Suche in der History funktioniert in der ksh anders. Drücken Sie Strg-R, tippen Sie einen String ein und drücken Sie Enter, um den letzten Befehl zurückzurufen, der diesen String enthält. Drücken Sie erneut Strg-R und Enter, um rückwärts nach dem nächsten passenden Befehl zu suchen und so weiter. Drücken Sie Enter zum Ausführen.
4Um die inkrementelle History-Suche mit Strg-R in der tcsh zu aktivieren, führen Sie den Befehl bindkey ^R i-search-back aus (und fügen ihn zu einer Shell-Konfigurationsdatei hinzu). Das Suchverhalten ist ein bisschen anders als bei der bash; siehe man tcsh.
5Im vi-Modus tippen Sie /, gefolgt von dem Suchstring, und drücken dann Enter. Drücken Sie n, um zum nächsten Suchergebnis zu springen.
6Jobkontrolle: tcsh verfolgt die vorgegebene Jobnummer nicht so intelligent wie andere Shells, weshalb Sie möglicherweise die Jobnummer, also etwa %1, öfter als Argument für fg und bg angeben müssen.
7Diese Eigenschaft ist standardmäßig deaktiviert. Führen Sie set -o emacs aus, um sie zu aktivieren. Ältere Versionen von ksh könnten sich anders verhalten.
8Das Neuladen (Sourcen) in dieser Shell erfordert einen expliziten Pfad auf die zu ladende Datei, also etwa ./myfile für eine Shell im aktuellen Verzeichnis, weil die Shell sonst die Datei nicht findet. Setzen Sie alternativ die Datei in ein Verzeichnis im Suchpfad der Shell.
9Umleitung von Standardausgabe und Standardfehlerausgabe: Die Syntax in dieser Shell ist: Befehl>Datei 2>&1. Der letzte Term 2>&1 bedeutet: »Leite die Standardfehlerausgabe, die den Dateideskriptor 2 hat, auf die Standardausgabe um, die den Dateideskriptor 1 hat.«