Comment exécuter un script dans un répertoire différent?

39

j'ai essayé ceci

./home/user/scripts/someScript

mais ça ne marche pas

No such file or directory

des idées?

    
posée UAdapter 02.11.2011 - 15:08
la source

3 réponses

47

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
    
réponse donnée Lekensteyn 02.11.2011 - 15:14
la source
23

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.

    
réponse donnée naisanza 29.10.2013 - 21:40
la source
4

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 .

    
réponse donnée Bruno Pereira 02.11.2011 - 15:14
la source

Lire d'autres questions sur les étiquettes