使用‘dirname’链接到脚本

使用‘dirname’链接到脚本

我在 /opt/MyDir/myscript.sh 中放置了一个脚本,它调用java并将其目录设置为类路径:

scriptdir=`dirname $0`
java -mx3g -cp "$scriptdir/*" MyApp.jar

我已经创建了此脚本的链接,/usr/local/bin/myscript但如果我运行它,类路径就会混乱。有人能建议我一个解决方法吗?如何处理这种情况?谢谢。

答案1

当您打算对脚本使用符号链接时,获取该脚本的真实路径的正确方法是:

# Absolute path to this script
scriptpath=$(readlink -e "$0")
# Absolute path this script is in
scriptdir=$(dirname "$scriptpath")
java -mx3g -cp "$scriptdir/*" MyApp.jar

更多关于:让 Bash 脚本获取其自身的完整路径的可靠方法是什么?

相关内容