我在教程中看到了创建新目录的命令:
mkdir my-new-project && cd $_
我知道
mkdir my-new-project
命令用于创建新目录,但是cd $_
有什么作用? 最佳答案
$_
扩展为上一个简单命令* 的最后一个参数,如果没有参数,则扩展为上一个命令。
mkdir my-new-project && cd $_
^这里有一个由两个简单命令组成的命令。第一个参数的最后一个参数是
my-new-project
,因此第二个简单命令中的$_
将扩展为my-new-project
。再举一个例子:
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将简单命令定义为“一系列可选变量赋值,后跟用空格分隔的单词和重定向,并由控制运算符终止。”,其中控制运算符指的是
|| & && ; ;; ( ) | |& <newline>
之一。实际上,
$_
的工作方式与我描述的相同,但仅以||
,&&
,;
或换行符作为控制运算符。关于bash - 'cd $_'是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30154694/