Ich verwende KornShell (ksh) unter Solaris und momentan ist meine PS1 env var:
PS1="${HOSTNAME}:${PWD} $ "
Und die Eingabeaufforderung wird angezeigt: hostname:/full/path/to/current/directory $
Ich möchte jedoch Folgendes anzeigen: hostname:directory $
Mit anderen Worten, wie kann ich nur den Hostnamen und den Namen des aktuellen Verzeichnisses anzeigen, d. h. tmp
oder ~
oder public_html
usw.?
Wenn Sie die ksh man-Seite lesen möchten,
%Vor%Getestet auf Standard-ksh unter SunOS 5.8
Okay, ein wenig alt und ein bisschen spät, aber das ist es, was ich in Kornshell verwende:
%Vor% Dies ergibt eine Eingabeaufforderung, die in BASH dem PS1="\u@\h:\w\n$ "
entspricht.
Zum Beispiel:
%Vor%Ich mag eine zweizeilige Eingabeaufforderung, weil ich manchmal sehr lange Verzeichnisnamen habe und sie einen Großteil der Befehlszeile beanspruchen können. Wenn Sie eine Eingabeaufforderung mit einer Zeile wünschen, lassen Sie das "\ n" bei der letzten Druckanweisung einfach weg:
%Vor% Das entspricht PS1="\u@\h:\w$ "
in BASH:
Es ist nicht ganz so einfach wie das Einrichten einer BASH-Eingabeaufforderung, aber Sie bekommen die Idee. Schreiben Sie einfach ein Skript für PS1
und Kornshell führt es aus.
Ich habe festgestellt, dass das oben genannte nicht unter Solaris funktioniert. Stattdessen müssen Sie es auf die wirklich hackische Weise tun ...
Stellen Sie in% code_% sicher, dass .profile
ist eingestellt. Dies ist wahrscheinlich richtig für Sie eingerichtet.
In Ihrer ENV="$HOME/.kshrc"; export ENV
-Datei werden Sie zwei Dinge tun
.kshrc
. Diese Funktion ändert sich in das angegebene Verzeichnis und setzt dann Ihre PS1-Variable basierend auf Ihrem Passwort. _cd
einrichten, um die Funktion cd
auszuführen. Dies ist der relevante Teil der Datei _cd
:
Dies wird Ihre Eingabeaufforderung als die gleichwertige BASH .kshrc
setzen. Es ist nicht schön, aber es funktioniert.
und ...
wenn du für den größten Teil deiner Bemühungen zwischen zwei Muscheln arbeitest [ksh and bourne sh] und eine Verzeichnisverfolgungsanzeige in Ihrer Befehlszeile wünschen dann kann PWD leicht in ksh substituiert werden und wenn Sie / usr / xpg4 / bin / sh für Ihre sh SHELL verwenden, wird es auch dort funktionieren
Versuchen Sie Folgendes:
%Vor%Weitere Informationen zu: Gewusst wie: Ändern / Einrichten der bash-benutzerdefinierten Eingabeaufforderung Ich weiß, dass du ksh gesagt hast, aber ich bin mir ziemlich sicher, dass es funktionieren wird.
Tags und Links shell environment-variables unix customization ksh