Die Shell ist das wichtigste Programm Ihrer Arbeitsumgebung. Unter DOS heißt die Shell command.com. Die Shell interpretiert die Befehle, die Sie auf der Kommandozeile eingeben und kommuniziert so mit dem Rest des Betriebssystems. Sie können auch Shellskripte schreiben, die den DOS-Batchdateien ähnlich sind. Es handelt sich dabei um eine Folge von Befehlen, die hintereinander ausgeführt werden.
Zwei Shells werden von FreeBSD automatisch installiert:
csh und sh.
csh ist für die Arbeit auf der
Kommandozeile komfortabler, Skripten sollten allerdings für
sh (oder für
bash) geschrieben werden. Mit
echo $SHELL können Sie herausfinden,
welche Shell benutzt wird.
Die csh-Shell ist zwar nicht schlecht,
aber die tcsh-Shell kann alles, was die
csh kann und einiges mehr. Sie erlaubt es
Ihnen, ausgeführte Befehle mit den Pfeiltasten wieder
aufzurufen und diese sogar zu verändern. Dateinamen oder
Befehle können mit der Tabulator-Taste automatisch
vervollständigt werden (csh nutzt
dafür ESC) und mit
cd - können Sie schnell in das
zuletzt verwendete Verzeichnis wechseln. Auch der Prompt
lässt sich unter der tcsh-Shell
wesentlich einfacher anpassen. All diese Eigenschaften
erleichtern den Umgang mit dem Betriebssystem.
Wollen Sie eine neue Shell installieren, gehen Sie wie folgt vor:
Installieren Sie die Shell als Port oder Paket genau
so, wie Sie jedes andere Programm als Port oder Paket
installieren würden. Rufen Sie dann
rehash sowie
which tcsh auf (wir nehmen hier an,
dass Sie tcsh installieren wollen),
um sicher zu gehen, dass alles korrekt installiert
wurde.
Als root editieren Sie nun
/etc/shells, und fügen eine
Zeile für die neue Shell ein, in unserem Fall also
/usr/local/bin/tcsh. Danach speichern
Sie die Datei (Einige Ports erledigen diesen Schritt
automatisch für Sie.).
Nutzen Sie chsh, um
tcsh dauerhaft als Ihre Shell zu
definieren. Alternativ geben Sie einfach
tcsh ein, ohne sich neu am System
anzumelden.
Bei früheren Versionen von FreeBSD und einigen
anderen Versionen von UNIX® traten Probleme auf,
wenn root eine andere Shell
als sh oder csh
zugewiesen wurde; sie hatten dann keine funktionierende Shell,
wenn das System im Single-User-Modus ausgeführt wurde.
Die Lösung besteht darin, su -m
einzugeben, um root zu werden, weil
damit root die tcsh
zugewiesen wird, da diese Shell Teil der Umgebung ist. Dies
kann auch fest als Alias in .tcshrc
eingetragen werden:
alias su su -m
Wenn tcsh startet, werden
/etc/csh.cshrc und
/etc/csh.login eingelesen (analog zur
csh). Ebenfalls eingelesen werden
.login und .cshrc
des Heimatverzeichnisses, falls .tcshrc
nicht gefunden wurde. Sie können auch
einfach .cshrc nach
.tcshrc kopieren.
Da tcsh nun installiert ist, kann
der Prompt angepasst werden. Details dazu finden Sie in
tcsh(1). Die hier vorgeschlagene Zeile können Sie
in Ihre .tcshrc eintragen. Dadurch wird
angezeigt, wie viele Befehle bereits eingegeben wurden.
Außerdem erhalten Sie die aktuelle Uhrzeit sowie das
aktuelle Arbeitsverzeichnis. Für den
gewöhnlichen Benutzer wird ein > und
für root ein #
ausgegeben. Dabei handelt es sich um die Standardeinstellung
von tcsh:
set prompt = "%h %t %~ %# "
Diese Zeile sollte an derselben Stelle eingefügt
werden, wie die vorhandene "set prompt" Zeile oder nach
"if($?prompt) then". Kommentieren Sie die alte Zeile aus,
damit diese notfalls wieder benutzt werden kann.
Vergessen Sie auch auf keinen Fall die Leerzeichen und
Hochkommata. .tcshrc wird neu
eingelesen, wenn Sie source .tcshrc
eingeben.
Eine Liste aller Umgebungsvariablen erhalten Sie,
wenn Sie am Prompt env eingeben. Sie sehen
dann den Default-Editor, -Pager, -Terminaltyp und viele andere
Umgebungsvariablen. Falls Sie sich von einem entfernten Rechner
anmelden und ein Programm nicht starten können, weil das
Terminal dazu nicht in der Lage ist, kann die Eingabe von
setenv TERM vt100 sehr hilfreich sein.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.