De toute évidence, il n’existe pas un tel fichier ou répertoire. Donc, vous donnez le mauvais chemin. Le point ne signifie pas "exécuter". C'est juste une partie du chemin. En shell, vous tapez normalement soit des fichiers à exécuter, soit des commandes (qui sont en fait des fichiers) :)
Pithikos
se débarrasser de cette période de départ et essayez à nouveau. Alternativement, ~ / scripts / someScript fonctionnera également. gardez aussi à l'esprit `` qoutes, et les programmes exec ($ man exec)
juin
Réponses:
61
Le point initial de votre commande signifie "relatif au répertoire en cours". Supprimez-le et il fera référence au "fichier someScriptdans 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:
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.
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' ./scriptutilisez, 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/fileest différent de /path/to/file. shexécute un /bin/shlien symbolique vers /bin/dash.
Lekensteyn
Juste pour clarifier quelque chose sur les exemples que vous voyez sur le net, normalement vous voyez sh ./somescriptce qui peut aussi être tapé `sh / path / to / script / scriptitself '.
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
: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:
la source
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.la source
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 tapezsh /home/user/scripts/someScript
.la source
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 '.