有没有一种方法可以在命令行中扩展!$
,同时在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的力量。