【发布时间】:2014-06-30 00:34:39
【问题描述】:
所以我正在学习一些 bash,并试图弄清楚如何获取运行脚本的目录。所以假设我有我的脚本~/scripts/bash/myscript,如果我像这样执行我的 scipt:
user@localhost ~/dir/I/need/to/run/the/script/from $ ~/scripts/bash/myscript
在我的脚本中,我如何获取正在执行它的目录,以便在这种情况下获得~/dir/I/need/to/run/the/script/from。诸如以下的快捷方式:
DIR=`pwd`
DIR="$(cd "$(dirname "$0")" && pwd)"
DIR=`dirname $0`
据我所知,它们都将脚本的路径分配给DIR,但我正在寻找运行脚本的路径。
有什么帮助吗?
谢谢!! :)
【问题讨论】:
-
pwd应该可以工作。在你做任何cd之前一定要尽早打电话。 -
这不是获取脚本本身的路径吗?我需要的是我的当前目录,而不是脚本的。如果没有,您能告诉我如何使用
readlink获取我的目录吗?谢谢 -
您正在寻找术语当前工作目录,这个“运行脚本的目录”是含糊不清的。
-
"我需要的是我的当前目录"。当前工作目录是为进程定义的,而不是人或其他任何人。当您说“我的”时,您指的是哪个过程?
-
好吧,我的错,对不起措辞。正如我所说,我正在学习,感谢您指出:)