Shell Script通过history命令获取脚本最后执行的时间戳

Shell Script通过history命令获取脚本最后执行的时间戳

我正在尝试使用下面的方法获取执行脚本的最后一个时间戳。通过命令行它运行良好,但通过脚本它给出当前时间。不确定这里出了什么问题

命令行:

HISTTIMEFORMAT="%d/%m/%y %T" history | grep -v grep | grep "\/test\.sh -f \input.xml"| tail -n1

输出:脚本执行的正确时间

脚本:

#!/bin/bash
HISTFILE=~/.bash_history
set -o history
HISTTIMEFORMAT="%d/%m/%y %T" history | grep -v grep | | grep "\/test\.sh -f \input.xml"| tail -n1

输出:脚本执行时间,始终为当前时间

答案1

如果您需要查看带有时间戳的历史记录,您的历史文件必须记录有时间戳。要启用历史时间戳添加(附加) export HISTTIMEFORMAT="%d/%m/%y %T"到您的配置文件,它可以是~/.bashrc~/.bash_profile/etc/profile(系统范围)

您需要重新登录才能使此设置受到影响,而且您只能看到新历史记录的正确时间戳。

相关内容