我刚刚读了一些代码,其中包括以下行:
mkdir ../../$something/$something_else
我不知道该如何解释这一点。
答案1
它应该被理解为一种惯例,用于指代不提供实际单词的书面内容,因为人们认为这些单词很无聊或不重要。因为其他$something_else是占位符,例如等等等等等等 mkdir -p ../../$something/$something_else
创建一个目录,其名称由您替换其他$something_else如果变量其他$something_else已设置为我的目录(这是一个字符串),然后mkdir -p ../../$something/$something_else
创建一个名为我的目录。
答案2
解释其作用的最简单方法是展示其作用。
考虑以下 shell 命令:
$ echo $PWD
/home/rick/askubuntu/subdir-A/JSON
echo $PWD
上面显示的是我们的当前目录。
$ cd ../../; echo $PWD
/home/rick/askubuntu
上面我们切换到了我们的祖先目录并显示了它的名字。现在让我们切换回我们的原始目录并显示它的名字:
$ cd /home/rick/askubuntu/subdir-A/JSON
$ echo $PWD
/home/rick/askubuntu/subdir-A/JSON
现在您已经了解了什么../../
是,让我们将所有内容联系在一起:
$ something=subdir-A
$ something_else=JSON2
$ mkdir ../../"$something"/"$something_else"
$ ls ../
JSON JSON2
因为something=subdir-A
和我们当前的父目录相同,所以这两行是等效的:
$ mkdir ../../"$something"/"$something_else"
$ mkdir ../"$something_else"
如果something=subdir-C
这是一个全新的父目录怎么办?那么我们使用的命令就会失败:
$ mkdir ../../"$something"/"$something_else"
mkdir: cannot create directory ‘../../subdir-C/JSON2’: No such file or directory
我们需要使用-p
参数来告诉mkdir
创建丢失的父目录:
$ something=subdir-C
$ something_else=JSON2
$ mkdir -p ../../"$something"/"$something_else"
$ ls ../../subdir-C
JSON2