访问函数内历史记录的最后一个命令

访问函数内历史记录的最后一个命令

我正在尝试创建一个函数,该函数将从当前终端回显上一个到最后一个命令。这是预期的输出(这里我称之为所需的函数f):

$ history 1
history 1
$ f
history 1

附带问题:history(1)当前终端的历史记录保存在哪里。我知道,当终端会话结束时,历史记录通常会保存在$HISTFILE(在我的情况下设置为~/.bash_history)。但我想知道history(1)当前运行终端的历史记录在哪里。

答案1

找到了解决办法:

f()(echo $(history 2 | head -n1 | cut -d' ' -f2-))

fc或按照 G-Man 的建议使用:

f()(fc -ln -1)

测试:

$ echo 123*
123*
$ f
echo 123*

相关内容