bash历史命令中的-p选项?

bash历史命令中的-p选项?

man bash

历史-p参数 [参数...]

...

-p

履行历史替代在以下参数上并在标准输出上显示结果。

什么是'历史替代' 是指这里吗?您能提供一个使用示例吗?

谢谢。


我了解命令行历史记录替换,并且已经尝试过这样的事情:

history -p "!23:1"

但这并不依赖于 -p,就像xx "!23:1"同样的事情一样。

答案1

如果您启用了历史扩展并运行history -p "!23:1",则会发生扩展内置history函数会看到指示符!23:1,因为即使在双引号内也会发生历史扩展。

但是,如果您禁用历史记录扩展,或者用单引号或反斜杠保护感叹号,以便内置函数能够处理它,您会看到history -p 输出历史扩展的结果:

$ true
$ history -p '!!'
true

我认为它的目的是能够编写历史扩展脚本。

相关内容