j'ai essayé ceci
./home/user/scripts/someScript
mais ça ne marche pas
No such file or directory
des idées?
Le point initial de votre commande signifie "par rapport au répertoire actuel". 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, exécutez:
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 la forme de chemins relatifs, votre script sera rompu.
J'ajoute toujours un cd $(dirname $0)
à la tête de mon script afin que le dossier contenant le script soit le dossier racine.
Supprimer 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 voyez ./script
utilisé, indiquez au shell que le script se trouve dans le même répertoire que vous l'exécutez. Pour utiliser le chemin complet, tapez sh /home/user/scripts/someScript
.
Lire d'autres questions sur les étiquettes bash