[Bash] " ' " devient " ? " [Resolu]

" ' " devient " ? " [Resolu] [Bash] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 24-03-2014 à 09:28:20    

Bonjour à tous,
 
sur ma ligne de script, quand je fais un copié coller dans un terminal, mes quotes deviennent des point d’interrogation.  :pt1cable:  
De même, en la lançant en tant que script.
 
Par contre, en recopiant la commande sur un terminal, cela fonctionne.  
 
Voici la ligne en question :
 

Code :
  1. echo $mdproot | su -c "sed -i ’s/timeout 5/timeout 0/g’ /boot/grub/menu.lst"


 
 
Quelle est la solution pour que la commande se lance correctement ?


Message édité par Mathew17 le 25-03-2014 à 12:57:54
Reply

Marsh Posté le 24-03-2014 à 09:28:20   

Reply

Marsh Posté le 24-03-2014 à 17:43:06    

Bonjour,
copié depuis où ?
Il s'agit sans doute d'un problème d'encodage de caractères.
Une piste: j'ai copié-collé la ligne incriminée sous emacs: lors de la sauvegarde, il m'a été proposé l'encodage Windows-1252 . . .
Le terminal étant peut-être en utf-8, cela a sans doute posé problème.
 
Effectivement, la commande cat effectuées sur le fichier sauvé (depuis emacs en Windows-1252) donne des points d'interrogation en vidéo inverse:  
 
echo $mdproot | su -c "sed -i �s/timeout 5/timeout 0/g� /boot/grub/menu.lst"
 
Solution: passer la source du copié-collé en utf-8
 
EDIT: je suis sous linux Mint 13 et le terminal est en utf-8, mais ça donne la même chose sur un terminal en latin-1


Message édité par majax2011 le 24-03-2014 à 17:48:12
Reply

Marsh Posté le 25-03-2014 à 07:26:21    

Faut vraiment éviter les c/c de code et comprendre ce qu'on écrit, là il faut de simples quotes '

Reply

Marsh Posté le 25-03-2014 à 12:56:40    

merci, finalement, j'ai réussi en utilisant vi.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed