Je suis sur OSX Snow Leopard.
Voici le contenu complet de grr.sh
:
#!/bin/sh
echo wow
Lorsque j'essaie de l'exécuter à partir du terminal:
$ grr.sh
-bash: grr.sh: command not found
$ /bin/sh grr.sh
wow
$ sh grr.sh
wow
$ bash grr.sh
wow
D'accord. C'est suffisant. Je vais lui donner une autorisation exécutable, puis réessayer:
$ chmod +x grr.sh
$ grr.sh
-bash: grr.sh: command not found
$ chmod 755 grr.sh
$ grr.sh
-bash: grr.sh: command not found
Hmmm. Peut-être que cela fonctionnera si j'utilise bash explicitement? Je changerai le contenu du fichier en:
#!/bin/bash
echo wow
Et j'obtiens exactement les mêmes résultats. Que pouvais-je avoir cassé?!
Une dernière chose! Au cas où vous seriez curieux ...
$ which sh
/bin/sh
L'emplacement de grr.sh est-il dans la
$PATH
variable? Sinon, vous devrez saisir:si vous êtes dans le même dossier que grr.sh. Sinon, fournissez-lui le chemin d'accès complet.
la source
les autorisations pour le fichier sont incorrectes. Essayez les commandes suivantes:
la source
Oui, et ce que signifie ./grr.sh, c'est que dans ce répertoire, exécutez la commande grr.sh. Le seul . signifie dans le répertoire de travail. Sinon, votre shell suppose que vous essayez d'exécuter une commande dans votre $ PATH.
la source