Répertoire courant du script Shell?
Quel est le répertoire courant du script shell? Je ce répertoire actuel à partir duquel je l'ai appelé? Ou ce répertoire où script situé?
4 réponses
Le répertoire courant (initial) du script shell est le répertoire à partir duquel vous avez appelé le script.
Comme déjà mentionné, l'emplacement sera d'où le script a été appelé. Si vous souhaitez avoir la référence du script, c'est l'emplacement d'installation, c'est assez simple. Voici un extrait qui imprimera le PWD et le répertoire installé
#!/bin/bash
echo "Script executed from: ${PWD}"
BASEDIR=$(dirname $0)
echo "Script location: ${BASEDIR}"
La plupart des réponses vous donnent le chemin actuel et sont sensibles au contexte. Pour exécuter votre script à partir de n'importe quel répertoire, utilisez l'extrait ci-dessous.
DIR="$( cd "$( dirname "$0" )" && pwd )"
En changeant de répertoire dans un sous-shell, nous pouvons alors appeler pwd
et obtenir le chemin correct du script quel que soit le contexte.
Vous pouvez ensuite utiliser $DIR
comme "$DIR/path/to/file"
Vous pouvez le faire vous-même en regardant la sortie de pwd
lors de l'exécution.
Cela imprimera le répertoire dans lequel vous vous trouvez actuellement . Pas le script.
Si votre script ne change pas de répertoire, il imprimera le répertoire à partir duquel l'a exécuté .