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 29/12/2009, à 17:19

Nariom

exécution d'un scipt shell

Bonjour !

Je débarque sur ubuntu mais j'ai déjà fait des scripts shell, quant j'essaye d'en exécuter un j'ai le message d'erreur suivant :

/bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type

J'ai d'abord bêtement vérifié que bash était installé, puis j'me suis assuré des droits d'accès de mon fichier. Rien y fait, en attendant mieux je peux travailler sous windows avec cygwin mais ça me fait un peu mal d'en arriver la T_T

Ça me parait assez trivial comme problème mais j'ai beau chercher je trouve pas de solution, pourriez-vous m'aider s'il vous plait ?

Hors ligne

#2 Le 29/12/2009, à 17:21

Hoper

Re : exécution d'un scipt shell

Le control M à la fin de la ligne n'a rien à faire la !
Bref, ton script à été fait sous windows, puis transféré sous linux sans précautions...  Le mode de codage d'une fin de ligne n'est pas la même.

Le plus simple est d'éditer ton texte avec un editeur en ligne de commande (tu connais vi ?) pour supprimer tous les ^M en trop à la fin des lignes.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#3 Le 30/12/2009, à 01:18

Nariom

Re : exécution d'un scipt shell

Ah ok ! Merci, c'est ça d'apprendre le shell avec windows ... Vive la fac. J'imagine que la précaution à prendre c'est de coder les fichiers en UTF-8 ?

Hors ligne

#4 Le 30/12/2009, à 02:59

Ph3nix_

Re : exécution d'un scipt shell

Hoper a écrit :

Le control M à la fin de la ligne n'a rien à faire la !
Bref, ton script à été fait sous windows, puis transféré sous linux sans précautions...  Le mode de codage d'une fin de ligne n'est pas la même.

Le plus simple est d'éditer ton texte avec un editeur en ligne de commande (tu connais vi ?) pour supprimer tous les ^M en trop à la fin des lignes.

voila une commande qui recodera tes fin de ligne DOS en fin de ligne UNIX

sed 's/^M$//' fichier

Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne