Bash
HISTTIMEFORMAT 更改根本不起作用
我正在嘗試為歷史命令添加時間戳
export HISTTIMEFORMAT='%F %T '
,但歷史記錄中的命令(新舊)沒有顯示時間戳。
的輸出
history | tail
445 exoirt HISTTIMEFORMAT='F% T%' 446 export HISTTIMEFORMAT='F% T%' 447 history 448 history | tail 449 ls 450 cd 451 ls 452 cd 453 ls 454 cd
我希望數字和列之間有一些日期時間資訊。 像這裡(在下面也可以看到)
1 2008-08-05 19:02:39 service network restart 2 2008-08-05 19:02:39 exit 3 2008-08-05 19:02:39 id 4 2008-08-05 19:02:39 cat /etc/redhat-release
的輸出
type history
是
history is an alias for history 0
我試圖在 ~/.bashrc 文件中插入變數,但它再次不起作用。
編輯: 我正在執行 Kali linux。我嘗試重新啟動系統並重置我的歷史記錄大小和數據。 編輯#2: 輸出
echo $ZSH_VERSION
5.8
的輸出
echo $SHELL
/usr/bin/zsh
你在 Kali Linux 上。Kali Linux 發行版使用
zsh
其預設登錄 shell,而不是bash
.這意味著您所做的任何更改
~/.bashrc
都不會被您使用的 shell 看到。zsh
shell 使用該文件~/.zshrc
來初始化互動式 shell 會話。此外,
zsh
shell 沒有呼叫 shell 變數HISTTIMEFORMAT
來做任何特別的事情。(順便說一句,如果您一直使用bash
,則不必使用export
此變數。)相反,您將不得不使用history
內置命令以不同的方式查看歷史記錄。但是,首先您必須讓 shell 以擴展格式儲存歷史資訊,其中包括時間戳。你這樣做
setopt EXTENDED_HISTORY
(
~/.zshrc
如果您希望在您啟動的所有 shell 會話中執行此操作)。該 shell 選項記錄在zshoptions
手冊中。然後,您將不得不擺脫Kali Linux 上
history
預設~/.zshrc
設置的相當無用的別名,因為它會阻止我們history
正確使用該命令。要麼註釋掉這一行
alias history="history 0"
或添加
unalias history
在文件的末尾。
然後,您應該能夠使用
history -i
另請參閱手冊中的
fc
(history
實際上與fc -l
)的文件,zshbuiltins
了解如何將輸出history
格式化為您想要的格式。例如history -t '%F %T'
(這恰好與 from 的輸出格式幾乎完全相同
history -i
,但增加了秒數。)