如何在Unix shell中将pwd定义为变量

时间:2013-12-30 12:34:39

标签: shell unix pwd

我尝试了以下但是没有用。

dir=$pwd
echo $dir

/bin/env/####/ --id --edition dir- $dir

我想将当前工作目录粘贴到上面的脚本中。

2 个答案:

答案 0 :(得分:10)

当前目录已经在一个名为PWD的变量中,它是automatically set by the shell

echo "$PWD"

你也可以:

dir=$(pwd)
echo "$dir"

或者您可以在脚本中使用这些,而不存储其他变量:

/bin/env/####/ --id --edition-dir "$PWD"
/bin/env/####/ --id --edition-dir "$(pwd)"

供您参考:每次更改目录时,无论是在交互式shell还是脚本中,shell都会将PWD变量的值设置为当前目录,并将OLDPWD的值设置为上一个目录。

嗯,通常。正如@WilliamPursell指出的那样,OLDPWD不是标准的,因此它可能并非在所有shell中都可用。

答案 1 :(得分:1)

试试这个:

dir="$PWD"

dir="$(pwd)"

如果您的路径包含特殊字符,例如空格,您可能也想要双引号。