如何在命令完成后向 bash 添加时间戳

如何在命令完成后向 bash 添加时间戳

我想在执行 bash 命令时添加当前时间。我希望它位于右侧站点,以免打扰用户。我正在寻找的输出是:

batman@Batcave:~/grails$ ls -l
total 84
drwxr-xr-x 2 batman batman  4096 2011-02-16 09:54 bin
drwxr-xr-x 2 batman batman  4096 2011-02-16 08:24 scripts
drwxr-xr-x 9 batman batman  4096 2011-02-16 08:24 src
batman@Batcave:~/grails$                                                       **10:46:06**

关于如何实现这一目标的想法?

答案1

类似但不完全是你所要求的:将以下几行添加到你的~/.bashrc

mytime() {
    printf '%*s**%s**\n' $((COLUMNS-13)) "" "$(date +%T)"
}
PROMPT_COMMAND=mytime

不同之处在于时间显示在前一行,而不是当前行。
我认为在当前行上书写而不干扰 shell 提示符和行编辑应该很困难。

相关内容