我想在我的Bash $ HISTFILE中登录的命令上保留时间戳,可以吗?
我没有将其设置man bash
为信息源。
我的其他选择如下:
function thebanana() {
local -r -a bash_commands=(
"ls"
# ... more coconut commands
)
for bash_command in "${bash_commands[@]}"; do
printf "${bash_command}"
printf ":"
done
}
export HISTFILE=banana
export HISTIGNORE="$(thebanana)"
export HISTSIZE=999999
export HISTFILESIZE=999999999
export HISTCONTROL=ignoredups:erasedups
我应该提到我在OS X Mountain Lion上(叹气)。uname -a
给我:
Darwin CoconutMac.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
并echo $BASH_VERSION
给我:
3.2.48(1)-release
尝试添加以下内容:
export HISTTIMEFORMAT='%b %d %I:%M:%S %p '
并且仅将此类时间戳记作为命令的前缀:
#1349057791
我尝试回显变量(echo $HISTTIMEFORMAT
),它具有正确的值。
有趣!
我什至完全删除了.profile来调试它。仍然只有有趣的时间戳:
#1349058320
我不知道如何进一步解决这个问题... :(
解决方案:我使用的脚本直接读取$ HISTFILE,而不是内置的历史记录,因此未使用日期格式字符串转换基于纪元的时间戳(自1970年1月1日世界协调时间(UTC)开始的秒数)。 。普通的history
效果很好,我会改用它。
可能我把strftime格式弄错了。如果手册页至少包含几个示例,将有所帮助。+%Y-%m-%d%H-%M-%S?
—
Robottinosino 2012年
HISTTIMEFORMAT
吗?