Caractères spéciaux dans les scriptes
IvyAlice
Messages postés
379
Date d'inscription
Statut
Membre
Dernière intervention
-
IvyAlice Messages postés 379 Date d'inscription Statut Membre Dernière intervention -
IvyAlice Messages postés 379 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'utilise debian, et j'ai déjà été plusieurs fois ennuyée par des caractères spéciaux dans mes scriptes bash.
Cette fois je veut comparé le mois actuel avec "décembre" ou "janvier" et comme `date`me retourne quelque chose comme "mercredi 16 décembre 2009, 16:35:10 (UTC+0100)"
Dans mon scripte je fais :
[ "$mois" = "décembre"] && echo " mois de decembre"
et lorsque j'exécute le scripte, il me sort bien ce qu'il faut , mais il réagit mal au caractère spécial et donc il interprête le scripte comme si j'avais écris :
[ "$mois" = "décembre"]] && echo " mois de decembre"
et me donne une erreur, et chaque fois que je réouvre mon scripte, j'ai ce deuxième ] qui apparaît bel et bien.
Comment faire pour m'en sortir une fois pour toute avec ces fichus caractères spéciaux dans les scriptes ?
Merci d'avances pour vos réponses
Ivy
J'utilise debian, et j'ai déjà été plusieurs fois ennuyée par des caractères spéciaux dans mes scriptes bash.
Cette fois je veut comparé le mois actuel avec "décembre" ou "janvier" et comme `date`me retourne quelque chose comme "mercredi 16 décembre 2009, 16:35:10 (UTC+0100)"
Dans mon scripte je fais :
[ "$mois" = "décembre"] && echo " mois de decembre"
et lorsque j'exécute le scripte, il me sort bien ce qu'il faut , mais il réagit mal au caractère spécial et donc il interprête le scripte comme si j'avais écris :
[ "$mois" = "décembre"]] && echo " mois de decembre"
et me donne une erreur, et chaque fois que je réouvre mon scripte, j'ai ce deuxième ] qui apparaît bel et bien.
Comment faire pour m'en sortir une fois pour toute avec ces fichus caractères spéciaux dans les scriptes ?
Merci d'avances pour vos réponses
Ivy
A voir également:
- Caractères spéciaux dans les scriptes
- Caractère spéciaux - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caractères ascii - Guide
- Raccourcis clavier word caractères spéciaux pdf - Guide
4 réponses
problème d'encodage ?
tu écris tes scripts sur Debian ?
si c'est le cas
et choisis fr_FR.UTF-8 comme valeur par défaut (si tu es en France).
Il faudra au moins réinitialiser ta session, voire redémarrer ta machine, et ré-encoder tes scripts avec iconv (tu peux d'ailleurs peut-être déjà commencer par ça, d'autant plus si tu n'écris pas tes scripts sur Debian, ainsi que les passer à fromdos (cf. man tofrodos, s'il est installé))
__
et bonne fête Alice.
tu écris tes scripts sur Debian ?
si c'est le cas
su -c 'dpkg-reconfigure locales'
et choisis fr_FR.UTF-8 comme valeur par défaut (si tu es en France).
Il faudra au moins réinitialiser ta session, voire redémarrer ta machine, et ré-encoder tes scripts avec iconv (tu peux d'ailleurs peut-être déjà commencer par ça, d'autant plus si tu n'écris pas tes scripts sur Debian, ainsi que les passer à fromdos (cf. man tofrodos, s'il est installé))
__
et bonne fête Alice.
Salut qqchquicommenceparQ,
Oui je les écris sur debian, mais manifestement si je les fait avec unbuntu et que je les déplace après, le problème est le même.
Arf donc je suis obligée d'installer ça, il n'existe pas de caractère d'échappement ou quelque chose dans le genre ?
Ivy
Oui je les écris sur debian, mais manifestement si je les fait avec unbuntu et que je les déplace après, le problème est le même.
Arf donc je suis obligée d'installer ça, il n'existe pas de caractère d'échappement ou quelque chose dans le genre ?
Ivy
Si tu dois convertir des scripts, utilise iconv
ohand@hathor:~/techo -n "éàé" > brol
johand@hathor:~/tmp$ iconv -f utf8 -t iso8859-1 brol -o brol.iso
johand@hathor:~/tmp$ ls -ltr
total 0
-rw-r--r-- 1 johand johand 6 2009-12-18 08:58 brol
-rw-r--r-- 1 johand johand 3 2009-12-18 08:58 brol.iso
johand@hathor:~/tmp$ cat brol.iso
��johand@hathor:~/tmp$
johand@hathor:~/tmp$ uname -a
Linux hathor 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linux
johand@hathor:~/tmp$ dpkg -S $(which iconv)
libc-bin: /usr/bin/iconv
D'autre part, n'oublie pas l'espace devant le crochet fermant:
johand@hathor:~/tmp$ truc="muche"
johand@hathor:~/tmp$ [ "$truc" == "muche"] && echo OK
bash: [: missing `]'
johand@hathor:~/tmp$ [ "$truc" == "muche" ] && echo OK
OK
ohand@hathor:~/techo -n "éàé" > brol
johand@hathor:~/tmp$ iconv -f utf8 -t iso8859-1 brol -o brol.iso
johand@hathor:~/tmp$ ls -ltr
total 0
-rw-r--r-- 1 johand johand 6 2009-12-18 08:58 brol
-rw-r--r-- 1 johand johand 3 2009-12-18 08:58 brol.iso
johand@hathor:~/tmp$ cat brol.iso
��johand@hathor:~/tmp$
johand@hathor:~/tmp$ uname -a
Linux hathor 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linux
johand@hathor:~/tmp$ dpkg -S $(which iconv)
libc-bin: /usr/bin/iconv
D'autre part, n'oublie pas l'espace devant le crochet fermant:
johand@hathor:~/tmp$ truc="muche"
johand@hathor:~/tmp$ [ "$truc" == "muche"] && echo OK
bash: [: missing `]'
johand@hathor:~/tmp$ [ "$truc" == "muche" ] && echo OK
OK