我在教程中看到这个命令来创建一个新的目录:
mkdir my-new-project && cd $_
我知道mkdir my-new-project命令用于创建一个新的目录,但是cd $ _做什么?
$ _扩展为上一个简单命令*或上一个命令的最后一个参数,如果没有参数。
mkdir my-new-project && cd $_
^这里有一个由两个简单命令组成的命令。最后一个参数是我的新项目,所以$ _在第二个简单的命令将扩展到我的新项目。
举一个例子:
echo a b; echo $_ #Will output: #a b #b
无论如何,mkdir some_dir&& cd $ _是一个很常见的组合。如果你厌倦了打字,我认为这是一个好主意:
mkdircd() { #Make path for each argument and cd into the last path mkdir -p "$@" && cd "$_" }
*
bash manual将一个简单的命令定义为“可选变量赋值序列,后跟空白分隔字和重定向,并由控制运算符终止”,其中控制运算符引用|| &安培; &安培;&安培; ; ;; ()| |&安培; <换行取代。
在实践中$ _的作品像我已经描述过,但只有||,& amp;&;,或者换行作为控制操作符。