我在 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
$
任务可以解决吗?
您应该在脚本中使用以下一行代码获得正确的结果
ROOT_DIR="$(dirname "$(realpath "${0}")")"
echo "${ROOT_DIR}"