1 votes

Lien vers un script en utilisant 'dirname'.

J'ai un script placé dans /opt/MyDir/myscript.sh qui appelle java en définissant son répertoire comme classpath :

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

J'ai créé un lien vers ce script en /usr/local/bin/myscript mais si je l'exécute, le classpath est en désordre. Quelqu'un peut-il me suggérer une solution de contournement ? Comment faire dans de telles situations ? Merci.

0voto

Radu Rădeanu Points 156862

Lorsque vous avez l'intention d'utiliser des liens symboliques pour un script, la bonne façon d'obtenir le chemin réel de ce script est :

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

En savoir plus : Un moyen fiable pour un bash script d'obtenir le chemin complet vers lui-même ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X