Den vollen Pfad in der Konsole anzeigen (Tcsh)

Flattr this!

Ich muss mich „geschäftlich“ mit der T-C-Shell (auch TC-Shell oder kurz tcsh) auseinandersetzen. Die Voreinstellungen waren… nicht so, wie ich es gewohnt war, vor allem das Abkürzen des Pfades vor der Eingabe war sehr unpraktisch. Jeder, der schon mal Software (oder vergleichbares) geschrieben hat, hat in der Regel mehrere Ordner, die gleich heißen können (src ist der Klassiker) und so ist eine eindeutige Zuordnung, welche Shell nun wo ist, kaum möglich. Ich wollte also statt der Aufteilung
[ngc-ollie@server src]$
lieber die gewohnte bash-Struktur:
ngc-ollie@server:˜/src$
Eine stundenlange Googlesuche brachte mich endlich auf die Lösung, die sich gut versteckte, da ich die wichtigen Schlüsselwörter mal wieder nicht kannte. Deswegen hier eine prinzipielle Vorgehensweise, wie man das Aussehen der Eingabezeile ändert:

1. Auf welcher Kommandozeile (Shell) bin ich denn überhaupt?

Wenn man sich an ein fremdes Linux/Unix setzt, macht man vielleicht den gleichen Fehler wie ich und erwartet seine gewohnte *sh, in meinem Falle bash. Dieser schöne Blogpost hat mich daran erinnert das doch mal mit dem Befehl
echo $SHELL
zu überprüfen. Die Ausgabe
/bin/bash
oder
/bin/tcsh
wir euch dann schon sagen, was so los ist 😉

2. Konfigurationsdateien

Im Prinzip ist die Shell ja auch nichts anderes als ein Programm und jedes halbwegs sinnvolle Programm schafft es irgendwo seine Einstellungen zu speichern. Hat der Entwickler was in der Birne tut er dies im Klartext im $Home-Verzeichnis.
Für bash liegt das Prinzipielle in der Datei /etc/bashrc und die benutzerspezifischen Dinge in /home/BENUTZERNAME/.bashrc. Für tcsh ist dies ähnlich: /etc/csh.cshrc und /home/BENUTZERNAME/.cshrc. Ansonsten gilt RTFM und benutz die man-pages (man bash), da steht das komplett drin. Nutzt immer die Datei im $HOME-Verzeichnis und sucht nach einer Aufforderung wie:

# An interactive shell — set some stuff up

oder

if ($prompt) then

3. Klarmachen zum Prompt-Ändern

Wie die Überschrift es schon verrät, die eigentliche Eingabezeile nennt sich Prompt und deren Aussehen will man ändern. Dieses Wort hatte ich schon seit den 90ern nicht mehr gehört, liebe Gemeinde verzeiht mir. Erst ab diesem Punkt gelangte meine Suche auf Gold, denn mit dem simplen Befehl (für tcsh)
set prompt
und angehängten Optionen ist alles geregelt.

4. Optionen? Hab ich denn welche?

Das Aussehen ist ja nicht so alternativlos wie unsere Politik, deswegen müssen sämtliche Optionen angegeben werden. Dabei gehen alle Shells unterschiedlich vor, es gibt hier eine übersichtliche Tabelle, die die einzelnen Möglichkeiten erläutert. Wichtig zu verstehen ist, dass beispielsweise das Zeichen ‚/‘ , das man angibt auch angezeigt wird, während ‚%/‘ als Platzhalter für das aktuelle Verzeichnis gilt. Machen wir mal ein Beispiel. Ziel ist es, dass meine Eingabeaufforderung so aussieht:
<ngc-ollie@server:˜/src>$
also muss man folgenden Befehl in der tcsh eingeben:
set prompt="<$user@%m:%˜>%#"
Erklärung: alles, was zwischen den beiden Zeichen “ eingeklammert ist, wird nachher angezeigt. Die Hochkommata („, [SHIFT] + [2]) kann man auch durch je ein Hochkomma ersetzen (‚, [SHIFT] + [#]). Das folgende Größerzeichen wird später auch gezeigt, $user ist ein Platzhalter und zeigt den Benutzer an, in meinem Falle also ngc-ollie, %n ist auch möglich und auch eleganter. Das At ist wieder zu sehen, %m ist der Name des Host und der Doppelpunkt ist wieder zu sehen. Die beiden Zeichen %˜ sind wieder Platzhalter für das aktuelle Verzeichnis, mit einem Unterschied. Ist man im $HOME-Verzeichnis, wird der Absolute Pfad durch das Tilde ersetzt.* Wer immer den absoluten Pfad braucht, nimmt den Platzhalter %/ . Das Kleinerzeichen ist dann wieder zu sehen und %# ist wieder ein Platzhalter für das Dollarzeichen. Das sollte man wissen, denn Variablennamen/spezielle Platzhalter (wie beispielsweise der Nutzernamen $user) werden mit dem Dollarzeichen eingeleitet. Will man ein Dollarzeichen aber darstellen, wird dies eben durch %# angezeigt. Will man das Doppelkreuz # lässt man einfach das Prozentzeichen davor weg.

Wer dem Link oben zur Tabelle folgt wird für fast allen genutzten Shells eine Anleitung finden. Das ganze wird dort auch auf die Spitze getrieben, indem noch Farben und viele Bedingungen miteinbezogen werden, aber das geht mich nun nichts an 😉 Abschließend sei noch schnell der Befehl aufgeschrieben, der tcsh nach bash aussehen lässt (man beachte das Leerzeichen vor dem Hochkomma):

set prompt='%n@%m:%˜ %# '

 

*= Dieses Tilde ist übrigens in der Konsole nicht so hochgestellt, wie es hier auf dieser Website zu sehen ist, aber HTML erlaubt mir nichts besseres.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Rechenaufgabe: * Time limit is exhausted. Please reload CAPTCHA.