2

有没有办法!$在 shell 内交互式编辑命令时扩展 in 命令行?

例如,当我输入 时ls !$,我按下某个按钮,然后我看到 的值是什么!$

4

3 回答 3

5

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

更新如果你想在执行之前扩展它,你可以使用Ctrl-Alt-E,但要注意它也会执行“单词扩展”,所以!$ "single argument"会扩展为expanded_string single argument(无引号 => 两个参数)。

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

于 2012-02-08T09:46:35.513 回答
4

可以简单使用:</p>

!$:p

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

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

或键入ESC.以获取!$

于 2012-02-08T09:54:47.353 回答
1

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

感谢@Alexishttps://stackoverflow.com/q/9360013/813665上的回答,让我看到了Alt-^.

于 2012-02-20T22:24:30.853 回答