获取调用脚本的目录

获取调用脚本的目录

doSmth我有一个脚本/usr/bin。是否可以获取并打印目录该脚本是从调用的

所以如果我doSmth/home/me输出中调用将是/home/me.

答案1

当您在 shell 中调用命令时,新进程将继承父进程的工作目录。获取工作目录有两种方法:

echo "$PWD" # variable
pwd         # builtin command

答案2

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

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

#!/bin/bash
initial_wd=`pwd`

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

cd "$initial_wd"

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

相关内容