我在使用bash脚本时遇到了一个奇怪的问题。这就是它:
PWD=${pwd}
# several commands
cd /etc/nginx/sites-enabled/
# more commands
cd $PWD
# I expect that I returning to my directory,
# but $PWD contains current dir - /etc/nginx/sites-enabled/这种行为有点懒惰。$PWD存储命令,该命令计算当前目录,并在调用$PWD时返回该目录,但我希望将字符串变量存储在其中。如何做到这一点?
发布于 2013-09-24 08:58:27
PWD是一个环境变量,在更改目录时会更改。
对变量使用不同的名称,
例如:
MYPWD=${PWD} #or MYPWD=$(pwd)
cd /etc/nginx/sites-enabled/
cd $MYPWD发布于 2013-09-24 08:53:53
尝试:
PWD=`pwd`或者:
PWD=$(pwd)这两个表达式都将执行PWD命令,并将命令输出存储在shell变量pwd中。网上有很多关于何时使用每种风格的讨论。我记得的一点是"$(cmd)“方法允许嵌套命令,例如
CURRENT_BASENAME=$(basename $(pwd)) Edit -我刚刚想到PWD是一个内置的shell变量,它总是扩展到当前的工作目录。
发布于 2020-02-08 00:17:21
您可能还会发现cd -很有用
https://stackoverflow.com/questions/18971255
复制相似问题