Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/02/2012, à 16:20

linux38000

cannot execute binary file

Bonjour et merci par avance pour votre aide.

J'ai un fichier nom_fichier.sh (pas besoin de compilation), bien formaté (dos2unix), ayant les bons droits d'exécution (777), avec un bon positionnement du shell d'execution (première ligne: #!/bin/bash).

Quand je l'exécute,
         ./nom_fichier.sh
j'ai le message: ./nom_fichier.sh cannot execute binary file

Aurez vous une idée pour résoudre cette méchanceté?
Une fois encore merci pour votre aide.

Hors ligne

#2 Le 15/02/2012, à 17:17

pingouinux

Re : cannot execute binary file

Salut,
Que donne la commande ?

file ./nom_fichier.sh

Hors ligne

#3 Le 16/02/2012, à 17:02

linux38000

Re : cannot execute binary file

Salut,

La commande file donne: UTF-8 Unicode text

Hors ligne

#4 Le 16/02/2012, à 18:48

pingouinux

Re : cannot execute binary file

Il faudrait déjà vérifier le choix d'encodage des caractères dans le terminal : Terminal -> "Set Character Encoding"

N'y a-t-il pas des caractères bizarres dans le fichier ?

Peux-tu élaguer le fichier, en ne conservant que le minimum pour que ça plante, et l'envoyer ?

Hors ligne

#5 Le 17/02/2012, à 09:43

credenhill

Re : cannot execute binary file

hello
afficher le début du fichier avec

cat -A nom_fichier.sh

Hors ligne

#6 Le 17/02/2012, à 10:32

linux38000

Re : cannot execute binary file

Bonjour,
Merci pour vos suggestions. Comme je disais dans le premier post: J'ai un fichier nom_fichier.sh (pas besoin de compilation), bien formaté (dos2unix), ayant les bons droits d'exécution (777), avec un bon positionnement du shell d'execution (première ligne: #!/bin/bash).

Donc pas de caractères bizzares, pas de problème d'encodage, pas de problème de shell, pas de problème de droit, pas de problème de corruption. Sur une autre plateforme de même configuration, le fichier s'exécute correctement.

Ce qui me fait tout bizzare c'est le message "cannot execute binary file" qui stipule que mon fichier .sh est binaire.
Merci pour votre temps

Hors ligne

#7 Le 17/02/2012, à 10:59

credenhill

Re : cannot execute binary file

c'est peut-être dans le script qu'il n'arrive pas à exécuter un fichier, place un set -x au debut du script

Hors ligne

#8 Le 17/02/2012, à 11:24

pingouinux

Re : cannot execute binary file

Deux autres suggestions :

  1. Vérifier que les fichiers (celui qui est bon et celui qui donne une erreur) sont bien identiques, avec md5sum

  2. Essayer de le lancer comme ceci : bash ./nom_fichier.sh

Hors ligne

#9 Le 17/02/2012, à 11:35

pingouinux

Re : cannot execute binary file

linux38000 #3 a écrit :

La commande file donne: UTF-8 Unicode text

Chez moi, quand la première ligne est correcte (#!/bin/bash), j'obtiens ceci :

$ file nom_fichier.sh
nom_fichier.sh: Bourne-Again shell script text executable

La première ligne commence-t-elle bien en colonne 1 ?

Hors ligne