2010-07-07 5 views
1

Je veux faire le genre de référence suivante:la création d'une référence pour le script

commande « ls », par exemple, est universellement disponible dans la plupart des environnements * nix. L'utilisateur peut saisir n'importe où pour exécuter les scripts. Donc, j'écris le script "x". Je veux m'assurer que, quel que soit l'endroit où l'utilisateur saisit x, le script "x" est référencé.

Ainsi, si j'ai script "x" stocké dans la maison/user/Desktop, je ne devrais pas avoir à référencer le script comme suit:

home/user/Desktop/x 

je devrais être capable de le faire:

x 

Merci!

Répondre

2

Vous souhaitez ajouter le répertoire à votre PATH. Par exemple.

PATH="$PATH:/home/user/someDirectory" 

Vous pouvez ajouter cette ligne à .bash_profile de le faire au démarrage. Cependant, vous ne devriez probablement pas ajouter Desktop au chemin parce que certains navigateurs le téléchargent par défaut (bien que cela ne devrait pas être exécutable par défaut).

1

Vous pouvez également placer votre script dans un répertoire existant déjà dans votre chemin, tel que /usr/local/bin ou créer un lien symbolique vers l'emplacement de votre script.

cp /home/user/Desktop/x /usr/local/bin 

ou

mv /home/user/Desktop/x /usr/local/bin 

ou

ln -s /home/user/Desktop/x /usr/local/bin 
0

Ne signifie pas être odieusement répétitif, mais cela est la première fois que répondre à une question, je ne peux pas répondre à quelqu'un est déjà -bonne réponse, et je pense qu'il leur manque des éléments importants.

Tout d'abord, si vous voulez vous assurer que tous peuvent accéder au script, vous aurez besoin d'être tout le monde a des autorisations d'exécution:

chmod a+x /path/to/script.sh 

Vous devrez également vous assurer qu'il est quelque part $ PATH références (comme les autres réponses mentionnées):

echo $PATH # place the script in one of these directories 

personnellement, je préfère/usr/local/bin, puisque ce qui est considéré comme le lieu pour les scripts globaux personnalisés. Quelque chose que les autres réponses ne mentionnent pas est que, si vous voulez utiliser un répertoire autre que $ dans PATH (par exemple,/opt/myscriptfolder /), vous devrez ajouter une autre entrée PATH à la fin de/etc/profile :

PATH="$PATH:/opt/myscriptfolder/" 

en mettant cela à la fin de/etc/profile, tous les utilisateurs recevront cette variable PATH modifié leur prochaine connexion.

Questions connexes