从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
我认为它的目的是能够编写历史扩展脚本。