22 votes

OS X - Créer un répertoire bin personnel (~/bin) et exécuter les scripts sans spécifier leur chemin complet

Donc, ce que j'essaie de faire, c'est de créer un programme personnel bin dans mon dossier personnel. J'ai créé le dossier suivant :

/Users/thi/bin

J'ai mis mes scripts dans ce dossier, mais si je tape dans le Terminal :

myScript

Il ne fonctionne pas.

On m'a dit que je devais exporter le chemin du bac, quelque chose en rapport avec echo $PATH mais je ne sais pas comment faire.

24voto

tfjgeorge Points 356

Vous devez ajouter les éléments suivants au fichier ~/.profile :

export PATH=/Users/thi/bin:$PATH

Puis source ~/.profile

Notez, que vous pouvez avoir besoin de créer ce fichier, et parce qu'il commence avec un . il peut ne pas être visible dans le finder pour être édité via une application comme un éditeur de texte. Pour lister tous les fichiers, y compris les fichiers cachés, utilisez :

ls -la ~/

10voto

Si vous utilisez bash, ajoutez une ligne comme celle-ci à ~/.bash_profile :

PATH=~/bin:$PATH

PATH est marqué pour l'exportation par défaut, donc vous n'avez pas besoin d'utiliser la fonction export .

Si les deux ~/.bash_profile y ~/.profile existent, bash ne lit que ~/.bash_profile lorsqu'il est invoqué en tant que shell de connexion interactif. ~/.profile est également utilisé par d'autres shells qui pourraient ne pas comprendre les mêmes options de configuration que bash.

Terminal et iTerm 2 ouvrent par défaut de nouveaux shells comme shells de connexion. Lorsque bash est invoqué en tant que shell de connexion interactif, il lit ~/.bash_profile mais pas ~/.bashrc . Les émulateurs de terminal sur les autres plateformes ouvrent souvent de nouveaux shells en tant que shells de non-login, ainsi par exemple bash lit ~/.bashrc mais pas ~/.bash_profile . Les utilisateurs d'OS X utilisent souvent ~/.bash_profile comme le fichier de configuration personnel correspondant à ~/.bashrc sur d'autres plates-formes, mais il est également courant de s'approvisionner en sources ~/.bashrc de ~/.bash_profile ou pour dire à Terminal ou iTerm 2 d'ouvrir les nouveaux shells en tant que shells de non-login.

Vous pouvez également changer le chemin d'accès de manière plus globale dans /etc/paths o /etc/launchd.conf mais dans de nombreux contextes, le chemin d'accès sera toujours par défaut à /usr/bin:/bin:/usr/sbin:/sbin . Et je n'ai vraiment eu besoin de modifier le chemin que dans les shells et les éditeurs de texte.

3voto

Nic MacKenzie Points 31

En général, on place des chemins supplémentaires après $PATH comme PATH=$PATH:/$HOME/bin parce que si vous ne voulez pas supplanter un autre exécutable du même nom qui pourrait être dans /bin etc.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X