我在教程中看到了这个命令来创建一个新目录:
mkdir my-new-project && cd $_
Run Code Online (Sandbox Code Playgroud)
我知道mkdir my-new-project
命令用于创建一个新目录,但是cd $_
做了什么?
PSk*_*cik 52
$_
扩展到上一个简单命令*的最后一个参数,如果它没有参数,则扩展到上一个命令.
mkdir my-new-project && cd $_
Run Code Online (Sandbox Code Playgroud)
^这里有一个由两个简单命令组成的命令.的最后一个参数,第一个是my-new-project
因此$_
在第二简单的命令将扩大到my-new-project
.
举另一个例子:
echo a b; echo $_
#Will output:
#a b
#b
Run Code Online (Sandbox Code Playgroud)
无论如何,这mkdir some_dir && cd $_
是一个非常常见的组合.如果你厌倦了输入它,我认为将它作为一个函数是个好主意:
mkdircd() {
#Make path for each argument and cd into the last path
mkdir -p "$@" && cd "$_"
}
Run Code Online (Sandbox Code Playgroud)
*bash手册将一个简单的命令定义为"一系列可选的变量赋值,后跟空格分隔的单词和重定向,并由控制操作符终止. "其中控制操作符指的是其中之一|| & && ; ;; ( ) | |& <newline>
.
实际上$_
就像我所描述而只用||
,&&
,;
或换行的控制操作.
7. 如何创建目录并使用单个命令切换到该目录。您可能已经知道,&& 运算符用于执行多个命令,而 $_ 扩展到上一个命令的最后一个参数。
很快,如果需要,您可以创建一个目录并使用单个命令移动到该目录。为此,请运行以下命令:
$ mkdir [dir-name] && cd $_
Run Code Online (Sandbox Code Playgroud)
对于那些来自 Udacity 的 Git 版本控制的人,HowToForge 提供了一个很好的解释,这里。
归档时间: |
|
查看次数: |
7178 次 |
最近记录: |