Wie benutzerdefinierte Anzeige prompt in KornShell, um zu zeigen, hostname und das aktuelle Verzeichnis?
Ich bin mit KornShell (ksh) auf Solaris und derzeit meine PS1 env var ist:
PS1="${HOSTNAME}:\${PWD} \$ "
Und die Aufforderung angezeigt wird: hostname:/full/path/to/current/directory $
Allerdings möchte ich es auf display: hostname:directory $
In anderen Worten, wie kann ich nur den Hostnamen und den Namen des aktuellen Verzeichnisses, also tmp
oder ~
oder public_html
etc etc?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Lektüre der ksh Mann Seite Sie wollen
Getestet auf Standard-ksh auf SunOS 5.8
Okay, ein wenig alt und ein wenig zu spät, aber das ist, was ich in Kornshell:
Dieser macht prompt das entspricht
PS1="\u@\h:\w\n$ "
in der BASH.Beispiel:
Wie ich eine zweizeilige Eingabeaufforderung, weil ich manchmal sehr lange Verzeichnisnamen, und Sie können eine Menge von der Befehl Linie. Wenn Sie möchten, eine Zeile mit der Eingabeaufforderung lassen Sie die "\n" auf der letzten print-Anweisung:
Entspricht
PS1="\u@\h:\w$ "
im BASH:Es ist nicht ganz so einfach wie die Einrichtung einer BASH-Eingabeaufforderung, aber Sie bekommen die Idee. Einfach ein Skript schreiben, für
PS1
- und Kornshell ausgeführt.Für Solaris und andere Älteren Versionen von Kornshell
Fand ich, dass die oben nicht funktioniert, auf Solaris. Stattdessen werden Sie zu tun haben, der realen hackish Weg...
In Ihrem
.profile
stellen Sie sicher, dassENV="$HOME/.kshrc"; export ENV
eingestellt ist. Dies ist wahrscheinlich das setup richtig für Sie.
In Ihrem
.kshrc
- Datei, werden Sie zwei Dinge_cd
. Diese Funktion wechseln Sie zu dem Verzeichnis angegeben, und legen Sie dann Ihre PS1 variable basierend auf Ihren pwd.cd
laufen die_cd
Funktion.Dies ist der relevante Teil der
.kshrc
Datei:Dieser Satz-Eingabeaufforderung als das äquivalent BASH
PS1="\u@\h:\w$ "
. Es ist nicht schön, aber es funktioniert.PS1
code fehlt'
😉ENV=~/.kshrc, und dann in deinem .kshrc:
Brad
und...
wenn Sie zwischen zwei Schalen für die meisten Ihrer Bemühungen [ksh und der bourne-Shell sh]
und der Wunsch ein Verzeichnis tracking-Anzeige auf der command line
dann PWD ersetzt werden kann leicht in der ksh
und wenn du /usr/xpg4/bin/sh für Ihre sh-SHELL, wird es auch dort arbeiten
Versuchen Sie dies:
Mehr Informationen auf: Gewusst wie: Ändern /Setup bash custom prompt, ich weiß, Sie sagte, ksh, aber ich bin ziemlich sicher, dass es funktionieren wird.