Shell脚本当前目录?

时间:2012-03-27 12:55:35

标签: linux directory sh working-directory

shell脚本的当前目录是什么?我这个目前的目录,我打电话给它?或者脚本所在的这个目录?

5 个答案:

答案 0 :(得分:88)

如前所述,该位置将是调用脚本的位置。如果您希望脚本引用它的安装位置,那很简单。下面是一个片段,它将打印PWD和已安装的目录

#!/bin/bash
echo "Script executed from: ${PWD}"

BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"

答案 1 :(得分:23)

大多数答案会为您提供当前路径并且对上下文敏感。要从任何目录运行脚本,请使用以下代码段。

DIR="$( cd "$( dirname "$0" )" && pwd )"

通过在子shell中切换目录,我们可以调用pwd并获取脚本的正确路径,而不管上下文。

然后,您可以将$DIR用作"$DIR/path/to/file"

答案 2 :(得分:15)

shell脚本的当前(初始)目录是您调用脚本的目录。

答案 3 :(得分:7)

您可以通过在运行时检查pwd的输出来自行完成此操作。 这将打印您当前所在的目录。不是剧本。

如果您的脚本没有切换目录,它会打印运行它的目录。

答案 4 :(得分:0)

要打印当前工作目录,即pwd,只需键入以下命令:

echo "the PWD is : ${pwd}"