12
votes

Bash sh - Commande introuvable

: command not found

0 commentaires

5 Réponses :


7
votes

Supprimer ; à partir de la fin de vos lignes de script.

Cela n'arrive pas dans ma bash, alors je ne suis pas sûr de ce qui ne va pas exactement, mais je suppose que c'est:

; est un séparateur de commandes. Étant donné que votre dernière commande se termine dans ; , votre bash attend probablement une autre commande après. Comme le script finit, cependant, il lit une commande vide, qu'elle ne peut pas exécuter.


5 commentaires

Bien que les points-virgules soient inutiles, ils ne causent réellement que le problème indiqué ici - le pire des cas, vous obtiendriez une erreur de syntaxe si vous aviez deux sigils de terminaison de commandement à côté de l'autre.


@CHARLESDUFFY, probablement. Cependant, je ne sais pas ce qui bat l'utilisation de l'OP. Étant donné que l'erreur ne s'est pas produite dans ma bash, je suppose que sa version est différente, éventuellement attendre quelque chose à venir après ; . Le message d'erreur indique : la commande non trouvée qui implique sa bash tente d'exécuter !


Pas nécessairement - plus probable, il tente d'exécuter $ '\ r' , qui simplement rendu comme rien.


@Denniswilliamson, non le message d'erreur est joint dans des guillemets doubles, probablement par l'OP. Il y a un " à la fin du message aussi!


Cette réponse est tout simplement fausse. Lorsqu'un script utilise des terminaisons de ligne normales (UNIX-FORMAT), la trailing ; s sont inoffensifs - vous pouvez facilement tester cela vous-même. Ce ne sont que des fins de ligne DOS qui rendent ce déclencheur d'erreur.



13
votes

Je suppose que vous avez des caractères de contrôle non transmissibles dans le fichier, ou contient des terminaisons de ligne \ r \ n (CRLF) (mode DOS / Windows).

Essayez de le vérifier avec ces Commandes: xxx


2 commentaires

Je parie que vous 5 $ que c'est vraiment build.sh, mais Kudos pour Biuld.sh Exemple: D


Je viens d'utiliser le nom de fichier op de OP: p Yeah, je parie que c'est build.sh aussi



34
votes

J'ai résolu ajouter des autorisations d'exécution:

sudo chmod + x fichier.sh


1 commentaires

Travaillé. Cela devrait être la réponse acceptée.



13
votes

J'ai résolu mon erreur de cette commande. xxx


0 commentaires

3
votes

Aucune de ces réponses a fonctionné pour moi, sauf xxx


0 commentaires