111 votes

Comment rendre un shell script global ?

Je suis sur Mac OS 10.6, et j'essaie d'apprendre une ou deux choses sur les scripts shell. Je sais comment enregistrer un script shell script et le rendre exécutable, mais je me demande ce que je peux faire ou où je peux enregistrer le fichier pour le rendre global (c'est-à-dire accessible quel que soit le dossier dans lequel je me trouve).

Par exemple, si j'enregistre un fichier .sh dans le répertoire /Users/nom d'utilisateur/ et que je le rends exécutable, je ne peux exécuter ce script que dans ce répertoire spécifique. Si je navigue vers /Users/nom d'utilisateur/Téléchargements, par exemple, je ne peux pas exécuter le script.

De plus, toute suggestion de ressources pour en apprendre davantage sur les scripts shell serait utile. Merci de votre compréhension.

2voto

En utilisant le shell bash, écrivez ce script en tant que fonction et mettez-le dans le .bashrc ou sourcez le fichier qui contient cette fonction par "nom_du_fichier_source"

Exécutez maintenant le script par appel de fonction dans l'interpréteur de commandes.

1voto

You Points 8861

Soit en l'enregistrant dans /usr/bin (ou tout autre répertoire présent dans PATH ) ou l'édition PATH pour inclure le répertoire dans lequel vous l'avez sauvegardé, le fera fonctionner dans n'importe quel répertoire.

0voto

d1gl3r Points 1

À partir du répertoire de travail de 'script.sh'" mv [script.sh] /usr/local/bin"( non testé mais semble être la méthode la moins complexe IMO.)

-2voto

Frxstrem Points 5384

Vous devez le placer dans le répertoire d'exécution global de votre machine. Je pense qu'il s'agit généralement de /usr/bin sur les systèmes d'exploitation basés sur Unix (cela nécessite toutefois le plus souvent des privilèges de superutilisateur sur cette machine).

Vous pouvez également le placer dans n'importe quel autre répertoire qui se trouve dans le répertoire $PATH mais cela ne fonctionnerait que pour les utilisateurs qui ont ce répertoire dans cette variable.

Vous pouvez trouver la valeur de $PATH en tapant echo $PATH dans une coquille. Les répertoires sont séparés par des : .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X