shell脚本的当前目录是什么?我从哪个当前目录调用它?或者脚本所在的这个目录?
问问题
148771 次
5 回答
154
如前所述,该位置将是调用脚本的位置。如果您希望脚本引用它的安装位置,这很简单。下面是一个将打印 PWD 和安装目录的片段:
#!/bin/bash
echo "Script executed from: ${PWD}"
BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"
你不客气
于 2012-10-06T17:05:28.143 回答
47
大多数答案为您提供当前路径并且是上下文相关的。为了从任何目录运行您的脚本,请使用以下代码段。
DIR="$( cd "$( dirname "$0" )" && pwd )"
通过在子 shell 中切换目录,我们可以调用pwd
并获取脚本的正确路径,而不管上下文如何。
然后,您可以$DIR
用作"$DIR/path/to/file"
于 2013-12-06T22:32:11.063 回答
20
shell 脚本的当前(初始)目录是您从中调用脚本的目录。
于 2012-03-27T13:03:25.937 回答
8
您可以通过检查pwd
运行时的输出来自己执行此操作。这将打印您当前所在的目录。不是剧本。
如果您的脚本不切换目录,它将打印您从中运行它的目录。
于 2012-03-27T12:59:52.973 回答
2
要打印当前的工作目录,即 pwd,只需键入如下命令:
echo "the PWD is : ${pwd}"
于 2019-10-24T07:01:39.843 回答