获取从中调用脚本的目录


Answers:


11

当您在外壳程序中调用命令时,新进程将继承父级的工作目录。以下是获取工作目录的两种方法:

echo "$PWD" # variable
pwd         # builtin command

1

“从其调用目录”似乎是指其工作目录。您可以使用例如在脚本中更改它cd,但是在执行此操作之前,pwd将其打印出来。也可能在变量中$PWD

如果更改后需要初始工作目录,只需将其保存在脚本顶部(更改前)

#!/bin/bash
initial_wd=`pwd`

# ... do a lot of stuff ...
# ⋮

cd "$initial_wd"

如果您使用它返回到您开始的目录,另请参阅pushdpopd


3
在bash中,还有“ $ OLDPWD”。
jordanm 2012年

@jordanm确实存在,但并不一定是最初的工作目录(例如,如果你使用cd两次)
derobert

$ OLDPWD是我需要的;我在Win7的CMD Prompt上运行bash脚本,这是保存运行脚本的目录的环境变量。干杯
达伦·毕晓普
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.