我试图了解什么是unix命令!$
.
例如,我知道该命令!1
用于运行历史命令编号1.
它似乎!$
运行在bash中键入的最后一个命令.
例如,如果我写mv folder12 folder123
,然后我会写,cd !$
我会实际上预先形成cd folder123
.
!$
运行在bash中输入的最后一个命令是否正确?
!$
匹配上一个命令的最后一个参数.
从 man bash
yank-last-arg(M-.,M-_)
将最后一个参数插入上一个命令(上一个历史记录条目的最后一个单词).使用参数,行为与yank-nth-arg完全相同.对yank-last-arg的连续调用将返回历史列表,依次插入每行的最后一个参数. 历史扩展工具用于提取最后一个参数,就好像已经指定了"!$"历史扩展一样.
$ vi a $ ls -l !$ # expands to "ls -l a" -rw-rw-r-- 1 me me 30 18 abr. 22:00 a
另请参阅使用Bash,您最喜欢的单个命令行技巧是什么?:
我是!$,!^和!*expandos的粉丝,从最近提交的命令行返回:最后一项,第一个非命令项和所有非命令项.(注意,shell首先打印出命令).
还有一个很好的阅读:Bash命令行历史的权威指南.