(1) history
ist ein Shell-Builtin; Es gibt keine ausführbare Datei
(2) bash -c
macht nicht bash
interaktiv und nicht interaktive Shells verwenden keine Historie. Dies ist nicht sehr gut dokumentiert, aber ich brauche beides -i
und set -o history
um Geschichte in eine Shell zu bringen -c
:
bash -ic 'set -o history; history'
(Getestet in 4.1.2 (1) unter RedHat und 4.3.11 (1) unter Ubuntu)
(3) Zeitstempel werden standardmäßig nicht in die Protokolldatei geschrieben. Wenn Sie also nicht (zuvor) HISTTIMEFORMAT
Ihre Benutzer ( erzwungen) festgelegt haben oder (zuvor) absichtlich festgelegt haben, werden (alle) Zeilen / Einträge aus der Protokolldatei gelesen haben die aktuelle Uhrzeit
(4) sudo
ändert die Benutzer-ID und die Gruppen-ID, jedoch nicht den Rest der Umgebung, so dass Ihr Befehl nach der Protokolldatei des Benutzers sucht, der sie ausführt, nicht nach der in $username
; hinzufügen-i
(5) Es ist möglicherweise einfacher, nur zu lesen $5/.bash_history
- zumindest für Benutzer-IDs, die bash ausführen und über ein Home-Verzeichnis verfügen