ls aktuelles Datum und Uhrzeit anzeigen lassen

ls aktuelles Datum und Uhrzeit anzeigen lassen

Ich möchte, dass ls bei jeder Verwendung als Nebeneffekt das aktuelle Datum und die aktuelle Uhrzeit anzeigt ls. Wie ändere ich die Funktion eines Befehls?

Antwort1

Eine Möglichkeit wäre, einen Alias ​​zu erstellen, der aufruft date, z. B. alias ls='date;ls'. Hier ist ein Beispiel:

$ touch a b c
$ ls
a  b  c
$ alias ls='date;ls'
$ ls
Mon Oct 14 10:37:29 BST 2013
a  b  c

Antwort2

Definieren Sie die PS1-Variable für Ihre Shell. Hier sollten Sie alles sehen, was Sie in Ihrer Shell möchten.

Beispiel:

export PS1="\t [\u@\h \W]\$ "
12:01:58 [user@host ~]$ ls /etc/fstab
/etc/fstab
12:02:00 [user@host ~]$ ls /etc/motd
/etc/motd

Antwort3

Ich verstehe nicht, warum Sie das tun möchten. Vielleicht könnten Sie uns mitteilen, was Sie wirklich erreichen möchten, und wir könnten Ihnen helfen, eine bessere Lösung zu finden.

Ich persönlich bearbeite meine PS1-Zeile. Meine PS1-Zeile zeigt in der Eingabeaufforderung viele Informationen an, etwa so: Wie Sie sehen, werden neben Datum und Uhrzeit noch viele weitere Informationen angezeigt. Um Datum und Uhrzeit in Ihrer PS1 anzuzeigen, fügen Sie zur Anzeige der Uhrzeit und zur Anzeige des Datums PS1-Linie hinzu .\@\d

Um Ihre Frage explizit zu beantworten: Sie könnten einen Alias ​​in Ihrem erstellen .bashrc. Fügen Sie dazu die folgende Zeile zu Ihrem hinzu ~/.bashrc:

alias ls='date && ls'

Sie haben angegeben, dass Sie die Funktionsweise eines Befehls nicht ändern möchten. Hier mag es zwar das Gegenteil zu sein scheinen, aber Sie müssen verstehen, wie Aliase funktionieren, um zu verstehen, dass dies den lsBefehl nicht wirklich ändert. Wenn Sie ls aus einem Skript heraus ausführen, wird der Befehl in einer Subshell aufgerufen, was verhindert, dass die übergeordnete Shell Ihre Aliasregeln darauf durchsetzt. Daher wird kein Skriptaufruf lsunterbrochen, weil sich das Ausgabeformat geändert hat.

EDIT: Da einige andere möglicherweise an der PS1-Reihe selbst interessiert sind, finden Sie die relevanten DetailsHier. Vorsicht, es ist ziemlich groß und wenn Sie Verzeichnisse mit Tausenden von Dateien haben, kommt es zu einer spürbaren Verzögerung der Leistung der Shell.

verwandte Informationen