Die Shell bietet einen sehr interessanten Mechanismus, der es ermöglicht Kommandozeilen sehr schnell und effizient einzugeben, die Kommandoerweiterung. Dabei geht es darum, eingegebene Kommandos bzw. Dateinamen nicht ganz tippen zu müssen, sondern nur die ersten signifikanten Zeichen. Durch Drücken der Tab-Taste versucht die Shell dann den Befehl oder den Dateinamen zu vervollständigen. Falls es noch mehrere passende Befehle oder Dateinamen gibt kann durch zweifaches Drücken der Tab-Taste eine Liste der passenden Elemente aufgerufen werden.

Konkret versucht die Shell das erste Wort einer Kommandozeile immer als Befehl auszulegen. D.h., wenn die Tab-Taste während der Eingabe des ersten Wortes einer Kommandozeile gedrückt wird, dann durchsucht die Shell den gesamten Suchpfad nach ausführbaren Programmen, die auf die bisher eingegebenen Zeichen passen. Falls es nur noch ein Programm gibt, das auf die bisher eingegebenen Zeichen passt, so wird der Programmname auf die Kommandozeile geschrieben. Falls es noch mehrere passende Programme gibt, dann gibt die Shell einen Warnton aus. Durch erneutes Drücken der Tab-Taste gibt die Shell eine Liste der Programmnamen aus, die auf das eingegebene Wort passen. Wenn es zu viele Möglichkeiten sind (voreingestellt >100), dann frägt die Shell nochmals nach ob wirklich alle aufgelistet werden sollen.

Alles was nach dem ersten Wort in der Befehlszeile folgt, wird als Dateinamen verstanden und entsprechend behandelt. D.h., dass nicht mehr der ganze Suchpfad sondern nur noch das aktuelle oder angegebene Verzeichnis durchsucht wird.

Falls in einer Kommandozeile ein Pipesymbol (|) erscheint, nach dem ja wieder ein Programmname stehen muß, erkennt die Shell das und sucht nach dem Pipesymbol wieder Programme, nicht Dateinamen.

Der Mechanismus der Erweiterung ist gerade bei Verwendung von langen Dateinamen ausgesprochen praktisch. Selbst wenn Dateinamen nur bis zu einem bestimmten Punkt eindeutig sind, so erweitert die Shell diese Namen eben bis zu dem Punkt, an dem sie wieder nicht mehr eindeutig sind. Dann kann wieder das nächste Zeichen eingegeben werden und erneut die Tab-Taste gedrückt werden…

Die beste Methode, diesen Mechanismus zu durchschauen ist die intensive Anwendung. Wer damit ein paar Tage gearbeitet hat, wird es ganz automatisch anwenden und überall dort verzweifeln, wo es diese Methode nicht gibt, etwa in der DOS-Eingabeaufforderung…

Weitere Erweiterungen

Neben der Erweiterung von Befehlen und Dateinamen mit dr Tab-Taste gibt es noch andere Formen. Sie sind wesentlich seltener gebraucht, können aber auch ganz praktisch sein. Die folgenden Erweiterungen sind noch nennenswert:

Esc-~

Erweitert das eingegebene Wort zu einem gültigen Benutzernamen

Strg-x ~

Gibt eine Liste aller passenden Benutzernamen aus

Esc-@

Erweitert das eingegebene Wort zu einem bekannten Rechnernamen

Strg-x @

Gibt eine Liste aller passenden Rechnernamen aus

Esc-$

Erweitert das eingegebene Wort zu einem gültigen Variablennamen

Strg-x $

Gibt eine Liste aller passenden Variablennamen aus