GNU/Linux >> Tutoriels Linux >  >> Linux

Script bash :mauvais interpréteur

Le script pourrait-il utiliser des retours à la ligne Dos ?

Essayez d'exécuter dos2unix dessus.


La première ligne, #!/bin/bash , indique à Linux où trouver l'interpréteur. Le script doit également être exécutable avec chmod +x script.sh , ce que vous avez apparemment fait.

Il est fort probable que vous ayez créé ce fichier avec un éditeur Windows, qui placera un <cr><lf> à la fin de chaque ligne. C'est le standard sous dos/windows. OS X placera un <cr> à la fin de chaque ligne. Cependant, sous Unix/Linux, la norme est de simplement mettre un <lf> au bout de la ligne.

Linux recherche maintenant un fichier nommé /bin/bash<cr> pour interpréter le fichier, où <cr> est un caractère de retour chariot, qui est un caractère de fichier valide sous Linux. Un tel fichier n'existe pas. D'où l'erreur.

Solution : Modifiez le fichier avec un éditeur sous Linux et débarrassez-vous du <cr> supplémentaire . Un outil qui fonctionne généralement lorsque le fichier est modifié sous Windows est dos2unix .


Linux
  1. Modification du mot de passe du système Linux dans le script bash

  2. Utilisation de la commande Linux Basename dans les scripts Bash

  3. /usr/bin/perl :mauvais interpréteur :fichier texte occupé

  4. exécution d'un script php (fonction php) sous linux bash

  5. Comment vérifier syslog dans Bash sous Linux ?

10 alias Bash pratiques pour Linux

Commande de mise en veille Linux (Pause d'un script Bash)

Comment utiliser les opérateurs de test de fichiers Bash sous Linux

35 exemples de scripts bash

Comparer les sommes md5 dans le script bash

Comment grep pour unicode � dans un script bash