我总是用来!$引用上一个命令的最后一个参数。
例如
~/dir » mkdir birthday
~/dir » cd !$
~/dir » cd birthday
Run Code Online (Sandbox Code Playgroud)
但是我已经开始看到教程$_代替!$
我已经测试了两者,我注意到的唯一区别是微妙的,但它似乎$_会评估和执行命令,而!$会让您在点击之前对输出进行理智检查Enter,但这是$_和之间的唯一区别!$吗?
更新:标记为重复?这个问题可以由建议问题的已接受答案来回答,但这仅仅是因为答案比要求的问题更详细。
搜索是什么_ $是什么意思?确实产生了建议的重复项,但是在询问做了什么之前我已经知道!$,并且没有任何迹象表明该问题也可能回答其他问题。
我看着这个问题并用谷歌搜索,但找不到明确的答案。!$输入终端时会做什么?
我打字
mkdir /path/to/dir
cd !$
Run Code Online (Sandbox Code Playgroud)
这让我/path/to/dir想到了,但我仍然想确切地知道!$运营商一般做什么。
!作为某个字符串的前缀将执行命令缓冲区中以给定(部分)字符串开头的任何命令。它还有一些其他用途。请参阅理解 bash 中的感叹号 (!)
我的问题是,如何在执行命令之前预览将要执行的命令?例如,如果我这样做!for,并且我之前已经编写了几个以“for”开头的命令,但我不完全确定我认为是最后一个的命令是否确实是我认为的命令。如果 bash 可以在实际执行命令之前向我显示将要执行的命令是什么,那将非常有用。有什么办法可以在 bash 中做到这一点吗?