我刚刚在bash文档中了解了Event Designators,但!:gs/foo/bar
也可以,!!:gs/foo/bar
是否有效?文档说
!
开始历史记录替换
所以这也意味着最后一个命令行被引用?或者!
只是!string
中!:gs/foo/bar
的{{1}}的边缘情况?仅供参考string
相当于^old^new
,
!!:s/old/new/
相当于^old
。
答案 0 :(得分:1)
在section about Word Designators的末尾,手册说
如果提供的字指示符没有事件规范,则将上一个命令用作事件。
这意味着,如果仅使用!
和:2
之类的指示符,则!:2
将被解释为!!:2
。 Word指示符是可选的,因此如果您仅使用修饰符(如!:gs/foo/bar
示例中所示),则同样适用:扩展适用于上一个命令。