Wie zeige ich die Uhrzeit im Terminal anstelle von Benutzername @ Hostname an?

0

Im Ubuntu-Terminal sehen Sie:

someone@workstation:

als Präfix jeder Zeile. Ist es möglich, die Uhrzeit in jeder Zeile anzeigen zu lassen?

[current time]someone@workstation: 

Die Zeit ändert sich so lange, bis ich "enter" eingebe, damit die Zeitangaben als Referenz gespeichert werden können.

Steven Du
quelle

Antworten:

2

Im Ubuntu-Terminal sehen Sie [dies] als Präfix jeder Zeile.

Es ist nicht das Terminal, das das macht. Es ist der Schale . Was angezeigt wird, ist die Shell-Eingabeaufforderung . Und einige Shells haben alle möglichen verrückten Dinge, die in Eingabeaufforderungen erledigt werden können.

In der Z-Shell ist es beispielsweise ganz einfach, die gewünschten Ergebnisse zu erzielen:

TRAPALRM() { zle reset-prompt ; }
PS1='[%*] %n@%m:'
TMOUT=1

Ich vermute jedoch, dass auf lange Sicht die Optionen der Z-Shell für das Speichern von Zeitstempeln im Befehlsverlauf und das Anzeigen des Befehlsverlaufs mit Zeitstempeln für Sie viel nützlicher wären:

setopt extended_history
history -i
Oder der Mechanismus der Bourne Again-Shell:
HISTTIMEFORMAT='%F %T '

Weitere Lektüre

JdeBP
quelle
1

Ja. Führe das aus -

PS1='\t:\u@\h:\w$ '

Das Terminal sieht nun so aus

21:06:09:user@host:/etc$

Das macht die Eingabeaufforderung zu dem, was Sie wollen.
Wenn Sie das dauerhaft wollen, setzen Sie diese Zeile in ~/.bashrc

Lawrence
quelle
Ich denke, es geht um die Uhrzeit, zu der der Benutzer die Eingabetaste drückt, um den Befehl auszuführen, und nicht um die Uhrzeit, zu der der letzte Befehl beendet und zur Eingabeaufforderung zurückgekehrt ist. Ich kenne keine Methode, um dies in reiner Bash zu tun, aber Software wie screen kann helfen.
piernov
Ah, du hast recht. In diesem Fall kenne ich keine andere Möglichkeit, als den Benutzer dazu zu bringen, die Eingabetaste zu drücken, bevor er einen Befehl eingibt, um zumindest die aktuellste Uhrzeit abzurufen.
Lawrence
cool, wie man die Zeit immer wieder ändert, damit ich weiß, wie spät es ist
Steven Du
Es gibt nicht wirklich einen Weg, das AFAIK zu tun.
Lawrence