运行上一个命令更改一个参数



在我的历史记录中给定一个命令,我如何运行同一个命令来更改一个参数?

例如,如果命令34是script.sh a b c,我如何使用某种参数替换来运行命令script.sh a fff c

假设在现实生活中,b不容易键入,因此使用通用字符串替换机制是不合理的。我知道我可以使用编辑和执行,但我正在寻找一种不需要打开文本编辑器的方法。我想有类似!34:blahblahblah的东西,但我不知道怎么做。

我试着阅读zsh替换的手册,但我觉得我不知道该找什么关键词。

编辑:我知道历史和编辑评论使用读线或编辑和执行。我正在寻找更像"与命令34相同,但将第三个参数更改为blah,类似于如何编写!34:3来引用命令34上的参数。

我能想到的唯一可能性是相当麻烦的

!!:0-2 new-argument !!:4

!!:0-2重复该命令及其前两个参数,!!:4是最后一个命令的最后一个参数(如果您愿意,也可以写成!$(。

对于我们可以执行的确切las命令:

^b^fff

使用插入符号指示要替换的内容和替换。

最新更新