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

vie*_*bel 2 bash bash-completion

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

例如,当我打字时ls !$,我按下了某个按钮,然后我看到了 的值!$

Ale*_*xis 5

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

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

您也可以使用Alt-_(在 emacs 和 vi 模式下都有效)或Alt-.(仅在 emacs 模式下有效)直接插入前一个命令的最后一个参数,无需任何扩展。