HOWTO zum Tcsh-Eingabeprompt (C) 2011-2017 T.Birnthaler/H.Gottschalk OSTC Open Source Training and Consulting GmbH http://www.ostc.de $Id: tcshprompt-HOWTO.txt,v 1.8 2019/11/26 19:37:07 tsbirn Exp $ Dieses Dokument beschreibt die Konfiguration des Tcsh-Eingabeprompts. ________________________________________________________________________________ INHALTSVERZEICHNIS 1) Primärer Prompt "$PS1" 2) Sonderzeichen in Prompt-Variablen 3) Hinweise 4) Weitere Prompt-Variable ________________________________________________________________________________ 1) Prompt "$prompt" ------------------- Die Variable "$prompt" legt das Aussehen des Eingabeprompts fest Die Variable "$prompt" legt das Aussehen des Eingabeprompts (Eingabeaufforderung)) fest, der immer dann ausgegeben wird, wenn die Shell auf die Eingabe eines Befehls wartet. Standardwert ist: prompt "%U%m%u:%B%~%b%#" Sie wird für alle Benutzer gemeinsam in "/etc/tcshrc.rc" oder "/etc/csh.cshrc" oder "/etc/csh.login" (zuerst) oder für einzelne Benutzer in "~/.login" oder "~/.tcshrc" (danach) initialisiert. 2) Sonderzeichen in Prompt-Variablen ------------------------------------ Folgende Sonderzeichen in "$prompt" setzen spezielle (variable) Komponenten in den Prompt ein: +-------+----------------------------------------------------------+ |Zeichen| Bedeutung | +-------+----------------------------------------------------------+ | %d %D | Datum-Tag (Zahl/Wochentag) [day] | | %w %W | Datum-Monat (Zahl/Monatsname) [month] | | %y %Y | Datum-Jahr (2/4-stellig) [year] | | %t %T | Uhrzeit HH:MM (12/24-Format) [time] | | %p %P | Uhrzeit HH:MM:SS (12/24-Format) [precise time] | | %m | Rechner-Name bis zum ersten Punkt (".") [machine] | | %M | Kompletter Rechner-Name (FQHN) [Machine] | | %n | Benutzer-Name [name] | +-------+----------------------------------------------------------+ | %c | Arbeitsverzeichnis [current directory] | | %C2 | Arbeitsverzeichnis (nur 2 Teile) [Current directory] | | %/ $~ | Aktuelles Arbeitsverz. (mit Ersetzung "~" bzw. "~user") | +-------+----------------------------------------------------------+ | %% | "%"-Zeichen selbst | | %h %! | Nummer des aktuellen Kommandos [history] | | %# | "$"-Zeichen für normalen Benutzer, "#"-Zeichen für root | | %R | Holt 1. Zeichen aus "$promptchars" für normalen Benutzer | | | holt 2. Zeichen aus "$promptchars" für root | +-------+----------------------------------------------------------+ | %$VAR | Wert der Shell-Variablen VAR | | %? | Exit-Code des vorherigen Kommandos | | %l | TTY-Name der Shell | | %L | Terminal ab Prompt bis zum Zeilenende löschen | | %R | Parserstatus in prompt2, Korrigierter Text in prompt3 | +-------+----------------------------------------------------------+ | %b %B | Fettschrift an/aus [bold] | | %s %S | Hervorhebung an/aus [standout] | | %u %U | Unterstreichen an/aus [underline] | | %{S%} | Text S als Escape-Sequenz einbetten | +-------+----------------------------------------------------------+ Prompt in der "tcsh" temporär (pro Fenster bis zum Schließen) definieren (Form: "Benutzername @ Rechnername : Aktuelles Verzeichnis > " set prompt = "%S%n@%m:%c9 > %s " # Invers an (%S=standout on), Username # anzeigen (%n=name), Hostname anzeigen # (%m=machine), aktuelles Verzeichnis # vollständig anzeigen (%c9=current # directory), invers aus (%s=standout off) 3) Hinweise ----------- * Das Leerzeichen am Prompt-Ende ist wichtig, damit die Kommandoeingabe etwas abgesetzt vom Prompt beginnt. * Der Prompt sollte auch nicht zu lang sein, da er sonst unübersichtlich wird und zu wenig Platz für die Eingabe der Kommandozeile übrig lässt. 4) Weitere Prompt-Variable -------------------------- * Die Variable "$prompt2" legt das Bereitschaftzeichen fest, das immmer dann ausgegeben wird, wenn Return gedrückt wird, die Shell das (mehrzeilige) Kommando aber noch nicht als abgeschlossen betrachtet (z.B. "echo \ ). Standard ist: set prompt2 = '? ' Erscheint überhaupt kein Prompt nach der Eingabe von , so wartet das aufgerufene Kommando meist auf Eingaben von stdin. Diese Eingabe kann mit "" oder "." ABGESCHLOSSEN werden, mit "" kann das Kommando ABGEBROCHEN werden. * Die Variable "$prompt3" steht für den Prompt bei der automatischen Korrektur von Tippfehlern. Standard ist set prompt3 = 'CORRECT>%R (y|n|e|a)? ' * Der Inhalt der Variablen "$promptchars" wird für den Promptplatzhalter "%#" benutzt. Das 1. Zeichen für normale Benutzer, das 2. Zeichen für die root. Standard ist: set promptchars = "%#"