Manchmal stelle ich fest, dass die Zeit nicht stimmt und älter ist, als ob es eine Verzögerung gäbe. Ich dachte, ich könnte es verwenden, um zu sehen, wie lange bestimmte Befehle dauern (grunzen ..). Wie kann das sein?
Kevin Simper
2
@ devav2: Gibt es eine Möglichkeit, die Zeitzone anzugeben?
Hippo
Gibt es eine Möglichkeit, dem Terminal einen Zeitstempel hinzuzufügen, wenn Sie root verwenden? Ich habe nur den Zeitstempel, wenn ich ein normaler Benutzer bin. Danke
Yufenyuy Veyeh Dider 14.
4
Für den dateBefehl können Sie ersetzen +%H:%M:%Smit +%T.
Snapfractalpop
5
Das mit meinem Terminal Verpackung geschraubt, so habe ich den Ansatz detailliert hier statt.
Füge
25
Meine Lösung bestand darin, mit http://bashrcgenerator.com/ diese PS1-Zeile zu generieren, um sie in .bashrc einzufügen:
export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"
Welches wird aussehen
13:05:54[chad@work-laptop:~/Downloads]$ ls -al
Durch die Verwendung von PROMPT_COMMAND wird der Verlauf für mich durcheinander gebracht. Wenn beim Durchlaufen des Verlaufs eine längere Zeile angezeigt wird, wird das Ende der Eingabeaufforderung um die gleiche Anzahl von Zeichen gekürzt wie der Zeitstempel, der an der Vorderseite hinzugefügt wurde. z.B
Und diese Zeile kann nicht bearbeitet werden, da die Zeichen nicht an der richtigen Stelle angezeigt werden, da Sie nicht dort tippen, wo Sie anscheinend tippen.
Ich vermute, es könnte mit PROMPT_COMMAND gemacht werden, vielleicht mit diesem [$ (tput sgr0)] - Teil, aber PS1 funktioniert.
Der Link hier ist großartig, um Briefmarken weiter anzupassen.
Cellepo
16
Anstatt das Datum der Eingabeaufforderung selbst hinzuzufügen, können Sie das Datum auch direkt vor Ihrer Eingabeaufforderung einfügen, indem Sie die folgende Zeile oben in Ihre Zeile einfügen .bashrc. Für die Arbeit müssen Sie auch installieren cowsay. Auf spielerische Weise können Sie das Datum anzeigen, während Sie eine kurze Eingabeaufforderung einhalten:
In seiner aktuellen Form wird es auf jedem System ohne Änderung funktionieren, während es die $USERund die dateVariable aus der aktuellen Umgebung liest .
Wenn Sie es in die Eingabeaufforderung einfügen, müssen Sie wissen, wann Sie zuletzt einen bestimmten Befehl ausgeführt haben.
James Oltmans
6
Da ich nicht genug Reputationspunkte habe, um der Antwort einen Kommentar hinzuzufügen, um sie zu verbessern. Die einzige Möglichkeit, Informationen hinzuzufügen, besteht darin, eine zweite Antwort zu erstellen. Also werde ich wiederholen, was als Antwort gesagt wurde, und darauf aufbauen.
Bearbeiten Sie die .bashrc-Datei für den Benutzer, für den Sie den Datumsstempel ändern möchten.
Wenn Sie "user @ host: ~ $" sehen, befinden Sie sich im Home-Verzeichnis Ihres aktuellen Benutzers. Die .bashrc-Datei ist eine versteckte Datei, da ihr der Punkt "." Vorangestellt wird. Um es in einer Liste anzuzeigen, müssen Sie eine lange Liste verwenden.
Sie können "ls -a" verwenden und sollten dann die ".bashrc" -Datei sehen.
Bearbeiten Sie die Datei mit einem Texteditor. Zum Beispiel "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" oder welcher Editor auch immer Sie verwenden möchten.
Wenn Sie dieses Skript erstellen und es für viele Benutzer zu vielen Shells hinzufügen möchten, kann es hilfreich sein, den Befehl "echo" in Verbindung mit dem Operator ">>" anhängen zu verwenden. Zum Beispiel,
Wenn Sie diese Methode verwenden, vergewissern Sie sich, dass Sie sich im aktuellen Arbeitsverzeichnis des Benutzers befinden, für den Sie sie ändern möchten. Um dies zu überprüfen, können Sie den Befehl "pwd" oder "print working directory" verwenden.
Wenn Ihnen der zusätzliche Abstand zwischen der Endklammer "]" und dem Benutzernamen nicht gefällt, verwenden Sie einfach diesen leicht geänderten regulären Ausdruck:
Da der Echo-Befehl zum Zeitpunkt des Exports nicht ausgewertet werden soll, ist es sinnvoller, einfache Anführungszeichen für wörtliche Anführungszeichen anstelle von doppelten Anführungszeichen zu verwenden. Mit einfachen Anführungszeichen den gesamten Befehl zitieren , dann können Sie doppelte Anführungszeichen verwenden , um das Argument zu dem Echo - Befehl zu zitieren, entfällt die Notwendigkeit , wie Sonderzeichen zu entkommen , [und$
Die Escape-Zeichen werden zur Formatierung verwendet (die Klammern). Ich verstehe nicht, was dies zur akzeptierten Antwort beiträgt.
Elder Geek
Sie können sie auch zu 'echo -n "$ (Datum +% H:% M:% S)"' hinzufügen: 'echo -n "[$ (Datum +% H:% M:% S)]"' ohne ihnen entkommen zu müssen. Der Vorteil der Verwendung eines Strings als Argument für den Echo-Befehl besteht darin, dass Sie jetzt nicht mehr das zu entziehen brauchen, was ansonsten als Bash auswertbar ist, was das Lesen erleichtert.
Qwertyzw
@ ElderGeek Ich habe weitere Klarstellungen hinzugefügt. Ich hoffe das hilft.
Qwertyzw
0
Ich denke, der richtige Weg, um fortzufahren, ist, in $HOME/.bashrcden Codes zu suchen PS1, die sie setzen , zu kommentieren und die persönlichen hinzuzufügen. Dies ist mein Block zum Beispiel:
Meine Zeit ist ähnlich wie die cowsayAntwort oben. Sie müssen nowIhre ~/.bashrceingeben, können sie aber auch vom Terminal aus durch Eingabe aufrufen now.
Hier ist ein Screenshot:
Der Bash-Code ist in dieser sehr detaillierten Antwort veröffentlicht:
Antworten:
Fügen Sie diese Zeile zur
~/.bashrc
Datei hinzu:Die Ausgabe wird also ungefähr so aussehen:
quelle
date
Befehl können Sie ersetzen+%H:%M:%S
mit+%T
.Meine Lösung bestand darin, mit http://bashrcgenerator.com/ diese PS1-Zeile zu generieren, um sie in .bashrc einzufügen:
Welches wird aussehen
Durch die Verwendung von PROMPT_COMMAND wird der Verlauf für mich durcheinander gebracht. Wenn beim Durchlaufen des Verlaufs eine längere Zeile angezeigt wird, wird das Ende der Eingabeaufforderung um die gleiche Anzahl von Zeichen gekürzt wie der Zeitstempel, der an der Vorderseite hinzugefügt wurde. z.B
Und diese Zeile kann nicht bearbeitet werden, da die Zeichen nicht an der richtigen Stelle angezeigt werden, da Sie nicht dort tippen, wo Sie anscheinend tippen.
Ich vermute, es könnte mit PROMPT_COMMAND gemacht werden, vielleicht mit diesem [$ (tput sgr0)] - Teil, aber PS1 funktioniert.
quelle
Anstatt das Datum der Eingabeaufforderung selbst hinzuzufügen, können Sie das Datum auch direkt vor Ihrer Eingabeaufforderung einfügen, indem Sie die folgende Zeile oben in Ihre Zeile einfügen
.bashrc
. Für die Arbeit müssen Sie auch installierencowsay
. Auf spielerische Weise können Sie das Datum anzeigen, während Sie eine kurze Eingabeaufforderung einhalten:In seiner aktuellen Form wird es auf jedem System ohne Änderung funktionieren, während es die
$USER
und diedate
Variable aus der aktuellen Umgebung liest .quelle
Da ich nicht genug Reputationspunkte habe, um der Antwort einen Kommentar hinzuzufügen, um sie zu verbessern. Die einzige Möglichkeit, Informationen hinzuzufügen, besteht darin, eine zweite Antwort zu erstellen. Also werde ich wiederholen, was als Antwort gesagt wurde, und darauf aufbauen.
Bearbeiten Sie die .bashrc-Datei für den Benutzer, für den Sie den Datumsstempel ändern möchten.
Wenn Sie "user @ host: ~ $" sehen, befinden Sie sich im Home-Verzeichnis Ihres aktuellen Benutzers. Die .bashrc-Datei ist eine versteckte Datei, da ihr der Punkt "." Vorangestellt wird. Um es in einer Liste anzuzeigen, müssen Sie eine lange Liste verwenden.
Sie können "ls -a" verwenden und sollten dann die ".bashrc" -Datei sehen.
Bearbeiten Sie die Datei mit einem Texteditor. Zum Beispiel "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" oder welcher Editor auch immer Sie verwenden möchten.
Wenn Sie dieses Skript erstellen und es für viele Benutzer zu vielen Shells hinzufügen möchten, kann es hilfreich sein, den Befehl "echo" in Verbindung mit dem Operator ">>" anhängen zu verwenden. Zum Beispiel,
Wenn Sie diese Methode verwenden, vergewissern Sie sich, dass Sie sich im aktuellen Arbeitsverzeichnis des Benutzers befinden, für den Sie sie ändern möchten. Um dies zu überprüfen, können Sie den Befehl "pwd" oder "print working directory" verwenden.
Wenn Ihnen der zusätzliche Abstand zwischen der Endklammer "]" und dem Benutzernamen nicht gefällt, verwenden Sie einfach diesen leicht geänderten regulären Ausdruck:
Verwenden Sie diese Option, wenn Sie die Datei direkt bearbeiten.
quelle
druckt das Datum aus, bevor jede Eingabeaufforderung ausgegeben wird.
quelle
Öffnen Sie Ihre
.bashrc
Viaund fügen Sie dann Folgendes hinzu
.bashrc
:Wo
\A
ist für die Zeit (\W
nur für das Ende des Pfads, entfernen Sie, wenn Sie den gesamten aktuellen Arbeitsverzeichnispfad möchten). Dann tippeSie werden so etwas sehen:
quelle
\W
wird überhaupt kein Pfad angezeigt.\w
wird den vollen Weg geben.Nur um die Antwort von @ devav2 zu ergänzen:
Ein einfacher zu lesender Echobefehl für Neulinge wäre:
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
Anstatt von
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Da der Echo-Befehl zum Zeitpunkt des Exports nicht ausgewertet werden soll, ist es sinnvoller, einfache Anführungszeichen für wörtliche Anführungszeichen anstelle von doppelten Anführungszeichen zu verwenden. Mit einfachen Anführungszeichen den gesamten Befehl zitieren , dann können Sie doppelte Anführungszeichen verwenden , um das Argument zu dem Echo - Befehl zu zitieren, entfällt die Notwendigkeit , wie Sonderzeichen zu entkommen
,
[
und$
quelle
Ich denke, der richtige Weg, um fortzufahren, ist, in
$HOME/.bashrc
den Codes zu suchenPS1
, die sie setzen , zu kommentieren und die persönlichen hinzuzufügen. Dies ist mein Block zum Beispiel:Ausgabe:
quelle
Die einfachste Syntax zum Anzeigen eines Zeitstempels in einer Eingabeaufforderung ist wahrscheinlich:
wo
\D{format}
istman bash
datumsformatiert (siehe Abschnitt PROMPTING) als%F
vollständiges Datum;man date
Entspricht % Y-% m-% d (siehe Abschnitt FORMATIEREN) und\t
ist die aktuelle Uhrzeit im 24-Stunden-Format HH: MM: SS (sieheman bash
Abschnitt PROMPTING)Nehmen Sie wie oben gezeigt Änderungen an PS1-Variablen vor
quelle
Meine Zeit ist ähnlich wie die
cowsay
Antwort oben. Sie müssennow
Ihre~/.bashrc
eingeben, können sie aber auch vom Terminal aus durch Eingabe aufrufennow
.Hier ist ein Screenshot:
Der Bash-Code ist in dieser sehr detaillierten Antwort veröffentlicht:
quelle
sieht zumindest praktisch für mich aus.
quelle