以下是示例代码:
user$ touch file.txt
user$ mate !$
“mate”正在调用textmate文本编辑器,第二个命令打开以前创建的file.txt。这是什么!$语法?什么呢!做? $做什么?
答案 0 :(得分:2)
!$
,在Bash shell中,引用上一个命令中的最后一个单词,file.txt
。
$
借用正则表达式和ed
/ vi
命令语法,意为“最后”。
答案 1 :(得分:2)
这是在各种shell历史记录扩展或历史记录替换中调用的shell功能。
以感叹号开头的单词将替换为先前执行的命令中的单词。哪些单词和哪些命令,取决于单词的其余部分。
在这个特定的例子中,美元符号是指命令的最后一个字,因为'!'之间没有其他字符。和'$'引用的命令是前一个命令,所以!$被替换为prevoius命令的最后一个参数。
在shell之间存在哪些其他命令和单词说明符有所不同。
答案 2 :(得分:0)
您可以在shell的文档中找到它。
不幸的是,shell文档通常不会同时显示!
和$
个字符,这使搜索!$
变得不必要。 (!
引入了历史记录替换; $
修改了它,使其仅指最后一个词。)
对于tcsh,man tcsh
或访问this page并搜索"历史记录替换"。
对于bash,man bash
并搜索" HISTORY EXPANSION"或info bash
或访问bash manual,特别是history expansion和{{}}部分{3}}