J'ai essayé ça
./home/user/scripts/someScript
mais ça ne marche pas
Aucun fichier ou répertoire de ce nom
des idées?
J'ai essayé ça
./home/user/scripts/someScript
mais ça ne marche pas
Aucun fichier ou répertoire de ce nom
des idées?
Réponses:
Le point initial de votre commande signifie "relatif au répertoire en cours". Supprimez-le et il fera référence au "fichier someScript
dans le répertoire /home/user/scripts
:
/home/user/scripts/someScript
Si vous obtenez "Autorisation refusée", c'est soit parce que vous ne disposez pas des autorisations suffisantes pour accéder au fichier situé dans le répertoire des autres utilisateurs, soit parce que le fichier n'est pas exécutable. Pour le rendre exécutable, lancez:
chmod +x /home/user/scripts/someScript
Si votre script doit accéder aux ressources du même dossier que celui où il est exécuté et que vous le spécifiez sous forme de chemins d'accès relatifs, votre script sera interrompu.
J'ajoute toujours a cd $(dirname $0)
à la tête de mon script pour que le dossier contenant le script soit le dossier racine.
Retirer le .
Si vous rendez le script exécutable avec chmod 755 <nameofscript>
pour l'exécuter, il vous suffit de taper le chemin d'accès au script.
Lorsque vous l' ./script
utilisez, il indique au shell que le script se trouve dans le même répertoire que vous l'exécutez. Pour utiliser le chemin complet que vous tapez sh /home/user/scripts/someScript
.
sh /path/to/file
est différent de /path/to/file
. sh
exécute un /bin/sh
lien symbolique vers /bin/dash
.
sh ./somescript
ce qui peut aussi être tapé `sh / path / to / script / scriptitself '.