Accueil > Astuces OSXFAQ > Vendredi - Script vs ’source’ vs ‘.’

Vendredi - Script vs ’source’ vs ‘.’

L’exécution d’un script sous une forme usuelle à la ligne de commande :

$ name-of-script

lance le script dans un nouveau shell bash. Si vous voulez qu’un script soit exécuté par le shell courant, vous devez l’appeler avec ’source’ :

$ source name-of-script

ou

$ . name-of-script

L’exécution d’un script d’initialisation comme /etc/bashrc au lieu de le “sourcer” ne marchera pas. Lorsque le nouveau shell se termine, tout son environnement et toutes ses variables shell sont détruites.

Si vous devez garder trace des scripts d’initialisation qui ont été lancé dans un environnement shell, utilisez la technique suivante :

Pour /etc/profile ajoutez :

declare -x STARTUP=”/etc/profile, “

Pour /etc/bashrc ajoutez:

declare -x STARTUP=”${STARTUP}/etc/bashrc, “

et de même pour ~/.bash_profile ajoutez:

STARTUP=”${STARTUP}~/.bash_profile, “

et pour ~/.bashrc ajoutez:

STARTUP=”${STARTUP}~/.bashrc, “

Tout autre fichiers “sourcés” tels que ceux de Fink doivent aussi avoir des instructions similaires ajoutées.


Parlez de cette astuce dans le Learning Center forum (en anglais sur osxfaq.com)


Si vous souhaitez en apprendre plus sur Mac OS X Unix visitez le Learning Center
 cliquez ici.

  • Pour les débutants : Le Tutoriel Mac OS X Unix
  • Pour plus d’informations sur des sujets spécifiques : Mac OS X Advanced Unix
  • Pour des réponses à des problèmes communs : Mac OS X How To

Thierry Astuces OSXFAQ

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire