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