获取执行脚本的目录的名称

我有一些脚本,它使用它周围目录中的文件。 它用

dirname $0

命令。 它应该从我运行这个脚本的任何目录中运行,但是当我运行一个指向该脚本的符号链接时,我会得到符号链接的路径。 所以我得到了dirname的输出,而不是脚本本身的路径。

任何人都知道如何获得脚本运行的路径?


获取脚本的真实路径

if [ -L $0 ] ; then
    ME=$(readlink $0)
else
    ME=$0
fi
DIR=$(dirname $ME)

如果您安装了realpath

$(dirname $(realpath $0))

除非我误解了你,否则问题应该与以下内容相同:你如何规范Bash中的文件路径?

没有提到的选项有以下python单行程:

python2.6 -c "import os,sys; print os.path.realpath(sys.argv[1])" "$0"

最后,请记住在“$ 0”周围使用双引号。

链接地址: http://www.djcxy.com/p/9723.html

上一篇: Get the name of the directory where a script is executed

下一篇: Cannot access the SQL Server 2008 R2 Express database from windows service