Wie kann ich ändern meine tcsh-Eingabeaufforderung zu zeigen, dass meine aktuelle Arbeits-Verzeichnis?
Ich bin mit tcsh
und ich bin auf der Suche nach einem Weg, reaktionsschnell Weg Arbeitsverzeichnis, in dem ich zumindest nicht wollen, um den letzten Ordner-Namen, anstatt vollständigen Pfad.
Stellen Sie sich meine aktuelle Arbeitsverzeichnis ist :
[user@hostname/home/us/Desktop/my/projects]
dann würde ich gerne die Anzeige der Eingabeaufforderung so :
[user@hostname projects]
Zeit bin ich mit der .cshrc
- Datei in der Datei habe ich wie folgt geschrieben:
alias setprompt 'set prompt="[suman@`hostname` `pwd`:~] $"'
alias setprompt 'set prompt="${LightGreen}[${yellow}suman${Light}${LightPurple}@%m ${LightGreen}:~] ${yellow}$ ${end} "'
Habe ich nicht die PS1-variable auch und weiß nicht, was es tut, und ich würde gerne wissen, der Unterschied zwischen .cshrc
Datei und .bashrc
Datei.
Ich finde, dass wenn ich arbeiten bin in Verzeichnissen, die viele Ebenen tief, und die Namen sind lang, den prompt auf die Rechte Seite des Bildschirms ist nicht hilfreich. Ich persönlich ablehnen, setzen Sie das Arbeitsverzeichnis, in mein prompt. Aber mit allen Mitteln gehen und die anderen Fragen zu dem Thema.
Möglich, Duplikat der Bash: benutzerdefinierte PS1 mit schönen Arbeitsverzeichnis-Pfad
Die
Vielleicht ist es selbstverständlich... aber wenn Sie wollen, um zu sehen, was Ihre
Möglich, Duplikat der Bash: benutzerdefinierte PS1 mit schönen Arbeitsverzeichnis-Pfad
Die
.cshrc
- Datei wird durch die C-shell; die .bashrc
- Datei wird von der Bash. Kannst du schauen, unter vielen anderen Fragen, Bash: benutzerdefinierte PS1 mit schönen Arbeitsverzeichnis-Pfad.Vielleicht ist es selbstverständlich... aber wenn Sie wollen, um zu sehen, was Ihre
prompt
derzeit festgelegt ist, bevor Sie gehen, es zu ändern, können Sie nur echo $prompt
InformationsquelleAutor pawankalyan | 2015-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden:
%n
für den Benutzernamen%m
für den Hostnamen bis zum ersten.
, und%c
für das Letzte Verzeichnis. Es gibt eine große Anzahl solcher Ersetzungen zur Verfügung, finden Sie eine Liste von Ihnen intcsh(1)
, vervielfältigt unten für die Bequemlichkeit.Mit
`pwd`
wird nicht funktionieren, weil diecshrc
Datei nur gelesen einmal auf shelll Start, nicht auf jedes Verzeichnis ändern.Den
cshrc
- Datei wird voncsh
undtcsh
, diebashrc
- Datei wird vonbash
. Obwohl Sie dem gleichen Zweck dienen, Sie sind zwei verschiedene Programme (wie~/.mozilla/firefox
und~/.config/chromium
).pwd
funktioniert nicht inset prompt
im.chsrc
, aberprecmd
verwendet werden können, um die Eingabeaufforderung jedes mal, bevor die Eingabeaufforderung ausgegeben. (zB, siehe stackoverflow.com/questions/9973266/...)InformationsquelleAutor Martin Tournoij
.cshrc
ist die Konfigurationsdatei für die csh oder tcsh, während.bashrc
ist die Konfigurationsdatei für, naja, bash. Auch wenn Sie dienen einem ähnlichen Zweck, bash und csh sind einfach verschiedene Programme, so dass die Konfiguration für ein nicht notwendigerweise für die anderen.Also, was Sie tun müssen, ist eine Zeile wie diese in Ihrem .bashrc
wo
\w
ist der magic code, die erweitert werden, um das aktuelle Arbeitsverzeichnis, so können Sie sich in der bash - Manpage im Abschnitt "Eingebung".Ein vollständigeres Beispiel, entnommen aus der Standard-Einstellung von Cygwin ' s bash-Paket, kann wie folgt Aussehen:
Wird es erweitert werden, um einen prompt wie diesen (aber mit Farben, uuuh):
\W
entspricht dem letzten Schritt im CWD.sorry, dies zu sagen, ich habe nur .cshrc-Datei, und ich cretaed .bashrc-Datei und ich Tat, was Sie sagte, obwohl, wenn ich Quelle die .bashrc-Datei es gibt die folgenden Fehler PS1: Befehl nicht gefunden
Aber Sie sind sicher, Sie mit bash, nicht csh oder wie? Wenn Sie Zweifel haben, führen Sie
ps -p $$
und überprüfen Sie, ob der Befehl Spalte, die tatsächlich bezieht sich auf die bash.Nicht bash läuft bei mir in der tcsh
InformationsquelleAutor matz