Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单的shell脚本问题:使用变量设置目录名?_Shell - Fatal编程技术网

简单的shell脚本问题:使用变量设置目录名?

简单的shell脚本问题:使用变量设置目录名?,shell,Shell,这里有一个非常简单的、可能重复的(对不起,我已经尝试过搜索)shell脚本问题 在下面的脚本中,将DATA_DIR设置为WDM_DIR的子目录的正确语法是什么?(第2行。) 关键是,人们可以将WDM_DIR更改为适合其系统的任何路径,但数据_DIR始终位于与其相关的同一位置。简单的方法是: DATA_DIR="${WDM_DIR}/wdm/pylons_data/getdata/" 下面是正确的语法 WDM_DIR=/Users/ap257/wdm/wdm DATA_DIR=${WDM_DIR

这里有一个非常简单的、可能重复的(对不起,我已经尝试过搜索)shell脚本问题

在下面的脚本中,将DATA_DIR设置为WDM_DIR的子目录的正确语法是什么?(第2行。)

关键是,人们可以将WDM_DIR更改为适合其系统的任何路径,但数据_DIR始终位于与其相关的同一位置。

简单的方法是:

DATA_DIR="${WDM_DIR}/wdm/pylons_data/getdata/"

下面是正确的语法

WDM_DIR=/Users/ap257/wdm/wdm
DATA_DIR=${WDM_DIR}/wdm/pylons_data/getdata/
cd -- "$DATA_DIR"

语法可能会有所不同,这取决于您使用的shell

最后一行应该是
cd--“$DATA\u DIR”
。如果
-
是以
-
开头的
$WDM\u DIR
(如果需要绝对路径,这不是问题)。引号出现在
$WDM_DIR
包含空格等特殊字符的情况下。shell脚本的规则1:总是在变量替换前后加双引号。@Gilles感谢您的输入。我已经用你的建议更新了我的答案。
WDM_DIR=/Users/ap257/wdm/wdm
DATA_DIR=${WDM_DIR}/wdm/pylons_data/getdata/
cd -- "$DATA_DIR"