Script bash?

Frédéric Marmond fmdp at free.fr
Ven 22 Sep 09:46:21 UTC 2006


hexedit est un petit logiciel qui permet d'éditer un fichier en mode binaire 
et ascii
=> en gros, t'as 2 parties:
- à gauche, la forme 'binaire'
- à droite, la même chose en 'ascii'

je ne sais pas jusqu'à quel point c'est du chinois pour toi.
un caractère est stocké sous forme 'numérique' (vulgairement appelé 'binaire') 
sur la machine
par exemple, 'a' = 97 en décimale (61h en hexadécimal, (base 16))
'b'=98 (62h) ...
pour info: "man ascii"

ton ^M est un caractère (1 seul), de valeur 0Dh
donc, si tu fais "hexedit /etc/init.d/parefeu", bouge le curseur sur la partie 
de droite (tabulation pour passer de droite à gauche, puis fleches pour 
bouger de caractère en caractère) jusqu'a aller au caractère suivant 
le /bin/bash. regarde alors sur la partie de gauche le caractère que tu as
si c'est un 0Dh (^M), ton script contient bien ce caractère, et utilse 
l'utilitaire dos2unix comme conseillé par un autre.
en DOS, une fin de ligne est "^M^J" (aussi notée, plus généralement, "\r\n" => 
Retour chariot, NewLine), soit 2 caractères
en unix, une fin de ligne est "^J" ("\n" => NewLine)) (un seul caractère) 
uniquement. D'où certains problèmes et l'utilité de "dos2unix" qui remplace 
les "^M^J" par des "^J"

si vraiment tu n'y arrives pas, envoie nous le fichier, on pourra te dire.


Fred

Le vendredi 22 septembre 2006 11:23, vous avez écrit :
> Frédéric Marmond a écrit :
> > salut,
> > peut être que ton éditeur de texte masque les ^M.
> > édite le avec hexedit, pour voir précisément ce qu'il contient
> > réellement...
>
> Pour moi c'est du chinois :(
>
> > Fred
> >
> > Le vendredi 22 septembre 2006 11:01, Jean Michel Missègue-Delmas a écrit :
> >> Lionel Porcheron a écrit :
> >>> Nature-Informatique a écrit :
> >>>> Bonjour,
> >>>>
> >>>> J'ai un script bash qui me sert de parefeu, je souhaite le lancer au
> >>>> démarage de la ma machine, mais il ne veut s'exécuter. J'ai ce message
> >>>> d'erreur :
> >>>>
> >>>> tux at maladeta:~$ sudo /etc/init.d/parefeu
> >>>> Password:
> >>>> sudo: unable to execute /etc/init.d/parefeu: No such file or directory
> >>>>
> >>>> Si je passe en root, j'ai ce message :
> >>>>
> >>>> tux at maladeta:~$ sudo -s
> >>>> root at maladeta:~# sd
> >>>> bash: sd : commande introuvable
> >>>> root at maladeta:~# /etc/init.d/parefeu start
> >>>> bash: /etc/init.d/parefeu : /bin/bash^M : mauvais interpréteur: Aucun
> >>>> fichier ou répertoire de ce type
> >>>> root at maladeta:~#
> >>>>
> >>>> Avez vous une explication svp?
> >>>
> >>> Oui !
> >>>
> >>> Tu as écrit ton parefeu sous un Windows (bouh !!!).
> >>
> >> Je n'ai pas utilisé Windows depuis 5 ans ;) Ce n'est pas moi qui est
> >> écrit ce parefeu :(
> >>
> >>   Y'a des ^M notamment
> >>
> >> Si j'édite le fichier, je ne vois nul part des ^M. C'est pour cette
> >> raison que je ne comprend pas pourquoi j'ai ce message. D'autan que sur
> >> mon autre machine, le même fichier sous Kubuntu fonctionne normalement,
> >> et sur la machine sur laquelle je viens d'installer Xubuntu il ne veut
> >> pas se lancer???
> >>
> >> Je peux te faire passer le dit fichier si tu veux?
> >>
> >> A+
> >> --
> >> Jean Michel Missègue-Delmas
> >> La meilleur façon de se protéger des virus informatique, c'est
> >> d'utiliser GNU/Linux et les Logiciels libres.
> >> http://abul.org




Plus d'informations sur la liste de diffusion ubuntu-fr