有没有办法!$
在 shell 内交互式编辑命令时扩展 in 命令行?
例如,当我输入 时ls !$
,我按下某个按钮,然后我看到 的值是什么!$
。
您是否希望按字面意思处理此序列,而不进行任何扩展?你可以用撇号引用它:'!$'
更新如果你想在执行之前扩展它,你可以使用Ctrl-Alt-E,但要注意它也会执行“单词扩展”,所以!$ "single argument"
会扩展为expanded_string single argument
(无引号 => 两个参数)。
您也可以使用Alt-_(适用于 emacs 和 vi 模式),或Alt-.(仅适用于 emacs 模式) 直接插入前一个命令的最后一个参数,而不进行任何扩展。
可以简单使用:</p>
!$:p
这将打印最近执行的命令的最后一个单词。
或键入Ctrl-Alt-e以展开!$
或键入ESC.以获取!$
您键入!$
,然后按:Alt-^
立即!$
展开。
感谢@Alexis在https://stackoverflow.com/q/9360013/813665上的回答,让我看到了Alt-^
.