脚本如何知道它所在的目录?

问题描述 投票:0回答:1

我在 Solaris 8 机器上工作,并且有一个正在获取的脚本。该脚本想知道它本身位于哪个路径。我尝试了多种解决方案,例如Unix shell脚本查找脚本文件所在目录?,但都是基于

$0
pwd
。到目前为止我尝试过:

$ echo $OS
SunOS
$ echo $OSTYPE
solaris
$ bash --version
GNU bash, version 2.02.1(1)-release (sparc-sun-solaris2.5.1)
Copyright 1998 Free Software Foundation, Inc.
$ pwd
/home/username
$ cat source-me/source-me 
pwd
echo $PWD
echo $0
echo ${BASH_SOURCE[0]}
$ . source-me/source-me 
/home/username
/home/username
-bash

$

任务可以解决吗?

bash solaris
1个回答
0
投票

您应该在脚本中使用以下一行代码获得正确的结果

ROOT_DIR="$(dirname "$(realpath "${0}")")"
echo "${ROOT_DIR}"
© www.soinside.com 2019 - 2024. All rights reserved.