Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Bash] Erreur d'interpréteur

    13 septembre 2019 à 12:19:27

    Bonjour,

    Je corrige les exercices d'étudiants et l'un d'entre eux me pose un problème particulier. Le shebang est bien présent dans l'en-tête du code mais quand j'exécute le fichier, le système me renvoie une erreur "/bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type".

    Je dois mentionner ici que le fichier de l'étudiant se nomme 'Script bash.txt'. Est-ce que cela peut jouer ? J'ai essayé en renommant le fichier pour éviter l'espace mais ça ne change rien. J'ai également renommé l'extension en .sh mais logiquement, ça ne change rien, vu que les extensions n'existent pas réellement.

    -
    Edité par NCZ 13 septembre 2019 à 13:11:15

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2019 à 13:21:15

      Bonjour,

      C'est le format du fichier texte qui est incorrect. Le line break, représenté par «^M», est au format DOS. Probablement du au fait que l'auteur a écrit le script sous Windows.

      Tu peux simplement utiliser la commande dos2unix qui va remplacer tous les lines break au format unix:

      $ cat -v fichier # affiche le contenu du fichier + les caractères de contrôle (cf. manuel de cat)
      > Ligne 1^M
      > Ligne 2^M
      > Ligne 3^M
      $ dos2unix fichier # converti au bon format 
      $ cat -v fichier
      > Ligne 1
      > Ligne 2
      > Ligne 3

      -
      Edité par KoaTao 13 septembre 2019 à 13:21:43

      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2019 à 13:29:27

        Merci beaucoup ! Comme quoi, même en tant que correcteur, on apprend toujours des choses :)
        • Partager sur Facebook
        • Partager sur Twitter

        [Bash] Erreur d'interpréteur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown