Linux 如何使用以下格式保存/.bash_历史记录day:month-hour:minute:seconds-command

Linux 如何使用以下格式保存/.bash_历史记录day:month-hour:minute:seconds-command,linux,bash,Linux,Bash,我有一个小剧本: #!/usr/bin/perl use strict; use warnings; my @a = `history`; print @a; 以下是关于此脚本中错误的问题: 正如我在问题中提到的那样:我在乱搞HISTFILESIZE和HISTFILE变量,以获得所需的输出 由于我无法执行该脚本,是否可以直接从/.bash_history文件中获得所需格式的相同结果 有没有办法直接从文件中获取历史记录 /bash\u历史记录是否包含日期和时间 当然,我们可以读取文件并转换时

我有一个小剧本:

#!/usr/bin/perl

use strict;
use warnings;

my @a = `history`;
print @a;
以下是关于此脚本中错误的问题:

正如我在问题中提到的那样:我在乱搞
HISTFILESIZE
HISTFILE
变量,以获得所需的输出

由于我无法执行该脚本,是否可以直接从
/.bash_history
文件中获得所需格式的相同结果

有没有办法直接从文件中获取
历史记录
/bash\u历史记录
是否包含日期和时间

当然,我们可以读取文件并转换时间戳:

use POSIX qw(strftime);
my $histfile = "$ENV{'HOME'}/.bash_history";
open HIST, "<$histfile" or die "$histfile: $!";
while (<HIST>)
{
    if (/^#(\d+)$/) { print strftime("%h/%d -- %H:%M:%S ", localtime $1); next }
    print $_
}
使用POSIXQW(strftime);
my$histfile=“$ENV{'HOME'}/.bash_history”;

开放历史,“你可能不能这样做。历史文件应该被重放。您在另一个问题中使用的是
HISTTIMEFORMAT
,该问题用于控制
history
命令如何显示时间戳。文件本身是不可配置的;它总是使用UNIX时间戳。
.bash_history
文件不应被视为人类可读或可用的文件;它本质上是shell本身的私有数据库。在perl脚本中没有
历史
的情况下,我还能实现最终目标吗?