在bash中,如何扩展!$同时键入命令行



有没有一种方法可以在命令行中扩展!$,同时在shell中交互式编辑命令?

例如,当我输入ls !$时,我按下一些按钮,然后我看到!$的值是多少。

是否希望将此序列按字面处理,而不进行任何扩展?你可以用撇号引用它:'!$'

UPDATE如果您想在执行前对其进行扩展,可以使用Ctrl-Alt-E,但要注意它也会执行"单词扩展",因此!$ "single argument"将扩展为expanded_string single argument(没有引号=>两个参数)。

您也可以使用Alt-\(在emacs和vi模式下都可用)或Alt-(仅适用于emacs模式)直接插入上一个命令的最后一个参数,而不进行任何扩展。

您可以简单地使用:

!$:p

这将打印最近执行的命令的最后一个字。

或者键入Ctrl-Alt-e以展开!$

或者键入ESC以获得!$

键入!$,然后按:Alt-^!$立即展开。

感谢@Alexis在https://stackoverflow.com/q/9360013/813665这向我展示了CCD_ 12的力量。

最新更新