GNU/Linux >> Tutoriels Linux >  >> Linux

Répertoire courant du script shell ?

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 alors utiliser $DIR comme "$DIR/path/to/file"


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 celui d'où le script a été appelé. Si vous souhaitez que le script référence son emplacement d'installation, c'est assez simple. Vous trouverez ci-dessous 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}"

Linux
  1. Expiration du délai dans un script shell ?

  2. Processus dans une session dans un shell interactif Vs dans un script ?

  3. La signification de $ ? Dans un script shell ?

  4. Exécuter un script shell en parallèle

  5. Exécuter un script shell dans le shell actuel avec l'autorisation sudo

Répertoire actuel abrégé dans l'invite du shell ?

Comment exécuter une commande dans un script shell ?

impossible de sourcer le script dans un répertoire courant

Répertoire de changement de script shell avec variable

Ajouter un script bash au chemin

Script de translittération pour le shell Linux