Double Possible:
Peut un script Bash dire ce répertoire, il est stocké dans?Dans un script de commande Windows, on peut déterminer le répertoire du chemin d'accès du script en cours d'exécution à l'aide de
%~dp0
. Par exemple:@echo Running from %~dp0
Quel serait l'équivalent en BASH script?
Cette question a déjà des réponses:
Réponses
Trop de publicités?
Alex Reynolds
Points
45039
En supposant que vous entriez le chemin complet du script bash, utilisez $0
et dirname
, par exemple:
#!/bin/bash
echo "$0"
dirname "$0"
Exemple de sortie:
$ /a/b/c/myScript.bash
/a/b/c/myScript.bash
/a/b/c
Si nécessaire, ajoutez les résultats de la variable $PWD
à un chemin relatif.
EDIT: Ajout de guillemets pour gérer les espaces.
Dimitre Radoulov
Points
9185
Contribution de Stephane CHAZELAS sur le postulat En supposant que le shell POSIX soit:
prg=$0
if [ ! -e "$prg" ]; then
case $prg in
(*/*) exit 1;;
(*) prg=$(command -v -- "$prg") || exit;;
esac
fi
dir=$(
cd -P -- "$(dirname -- "$prg")" && pwd -P
) || exit
prg=$dir/$(basename -- "$prg") || exit
printf '%s\n' "$prg"
xagyg
Points
4281
Poor Yorick
Points
9