web-dev-qa-db-fra.com

Exécuter un script shell sans `. /`

J'apprends à créer des scripts Shell sous UNIX pour une classe universitaire. Le manuel dit que je devrais être capable de taper le nom du fichier dans mon terminal et qu'il devrait fonctionner, mais jusqu'à présent, je n'ai pas réussi à le faire fonctionner. Mais cela fonctionne bien lorsque je tape ./myscript. Actuellement, je tape les scripts sur mon terminal Mac, mais FreeBSD était chargé sur une boîte virtuelle et il me faisait la même chose.

Je pense que je dois peut-être changer mon chemin de l'environnement? Je me souviens que je devais le faire lorsque j'ai commencé à écrire des fichiers python.

2
B.A. Ceradsky

Pour exécuter des scripts que vous avez écrits vous-même, vous avez plusieurs options.

OPTION 1

Vous pouvez les stocker dans /usr/bin.

Personnellement, c’est ce que je fais alors que je lisais quelque part il y a longtemps que /usr/bin était exactement pour cela et je n’y ai jamais vraiment pensé autrement

Je garde cependant une copie des scripts dans un dossier séparé Documents/SourceCode/, où je fais toutes mes éditions et mes tests. alors je viens de copier le script sur /usr/bin

OPTION 2

Vous pouvez simplement les stocker dans votre dossier de test, donc dans mon cas ...

Documents/SourceCode/

et ajoutez ceci à ma variable de chemin.

export PATH=$(PATH):/home/user/Documents/SourceCode

1
j-money