bash 热键或特殊运算符将 bash 提示输入的内容保存到文件

bash 热键或特殊运算符将 bash 提示输入的内容保存到文件

当我需要在命令行上完成某件事时,我经常从默认的 $> 提示符开始。我这样做是为了在迭代复杂命令时能够快速获得反馈。但是,更多的时候,命令对于命令行来说会变得很大而且难以处理。此外,如果我证明我输入的命令序列已经过验证(它可以工作),我喜欢将该输入序列保存到文件中,以便我可以扩展和抽象它的部分以供以后重新使用。我如何获取该特定历史记录条目的内容?

也许我可以将history -a所有历史记录输出到外部文件,grep然后将其传输到输出文件。

理想的情况是使用一个特殊的运算符来!<#>实际执行命令,但在这种情况下,它不是执行,而是将实际的命令序列作为文本返回,以便我输出到文件中。

我有什么选择?

答案1

echo !<#><#>您的 bash 历史记录中的命令的行号在哪里。

如果您输入history <#>一个<#>整数,定义输出行数的限制,那么您就会得到 bash 历史记录。

运行命令和命令选项,grep其中history 100 | grep "command command-options"命令和命令选项就是您要查找的内容。现在您可以看到符合 grep 搜索条件的命令列表。

如果历史记录中的行号是 502,您只需输入echo !502并获取该条目。然后可以将其传输到输出文件中。

echo !502 > myscriptfile

相关内容