我正在尝试使用下面的方法获取执行脚本的最后一个时间戳。通过命令行它运行良好,但通过脚本它给出当前时间。不确定这里出了什么问题
命令行:
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
(系统范围)
您需要重新登录才能使此设置受到影响,而且您只能看到新历史记录的正确时间戳。