Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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
参考本地用户';Bash中的路径_Bash - Fatal编程技术网

参考本地用户';Bash中的路径

参考本地用户';Bash中的路径,bash,Bash,我编写了一个适用于我的机器的bash脚本,但我想与同事分享。在这样做时,我希望他能够只改变我的变量中适合他的系统的路径。我假设我应该在脚本中添加一部分来检查现有目录,如果它们不存在,则创建它们 还有一种方法可以让我用“~/”将路径指向他的主目录吗 基本上是尽可能简单地切换这个脚本,本地用户只更改变量中的路径 谢谢大家! 附件是我的脚本片段-我希望“我”反映本地用户 dbreportspath="/Users/me/Dropbox/NDT_RED_REPORTS/"$survivor"/"

我编写了一个适用于我的机器的bash脚本,但我想与同事分享。在这样做时,我希望他能够只改变我的变量中适合他的系统的路径。我假设我应该在脚本中添加一部分来检查现有目录,如果它们不存在,则创建它们

还有一种方法可以让我用“~/”将路径指向他的主目录吗

基本上是尽可能简单地切换这个脚本,本地用户只更改变量中的路径

谢谢大家!

附件是我的脚本片段-我希望“我”反映本地用户

dbreportspath="/Users/me/Dropbox/NDT_RED_REPORTS/"$survivor"/"    #Path to Local dropbox Silverstack Reports - Make sure the directory exists!
dbpath="/Users/me/Dropbox/Drive_Contents/"                        #Path to Local dropbox Drive Contents - Make sure the directory exists!
localdc="/Users/me/Documents/Drive_Contents/Jobs/"$survivor/""    #Path to Local directory for Drive Contents

我会把你的剧本改成

dbreportspath="$HOME/Dropbox/NDT_RED_REPORTS/$survivor/"
dbpath="$HOME/Dropbox/Drive_Contents/"
localdc="$HOME/Documents/Drive_Contents/Jobs/$survivor/"
(请注意,我已经删除了
$survivor
周围的引号。除非您能详细说明,否则我无法确定它们的需要。)

要回答有关创建不存在的目录的问题的另一部分,请执行以下操作:

if [ ! -d "$dbreportspath" ]; then
  mkdir -p "$dbreportspath"
fi
或者,如果您需要多次这样做:

函数createDirsIfDoNotExist(){
对于“$@”中的目录,请执行以下操作
如果[!-d“$dir”];则
mkdir-p“$dir”
fi
完成
}
createDirsIfDoNotExist“$dbreportspath”“$dbpath”“$localdc”

最好将所有(几乎所有)变量引用加倍引用,例如,
如果[!-d“$dbreportspath”]
mkdir-p“$dbreportspath”
,“$@”中dir的
,等等。$HOME是我要找的。对我来说,这是一个入门的时刻。非常感谢。