Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Caracteres accentues dans Terminal

9 réponses
Avatar
Emmanuel Da Piedade
Bonjour.

Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
\303\251 pour é ) dans un shell bash. Pas très lisible ...

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?

--
Emmanuel Da Piedade
http://retrocomputing.free.fr

9 réponses

Avatar
Jacques Perrocheau
In article <467bc215$0$9915$,
"Emmanuel Da Piedade" <emmanuel.dapiedade AT gmail DOT com> wrote:

Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
303251 pour é ) dans un shell bash. Pas très lisible ...

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?



Régler le Terminal pour qu'il affiche en utf-8 et:


-Soit utiliser l'option w de ls, par exemple:

ls -law


-Soit si tu demandes à less d'afficher le résultat par exemple

ls -la | less

et tu peux configurer less pour qu'il affiche correctement les
caractères utf-8. Cela se fait avec la commande lesskey en lui faisant
mouliner un fichier texte qui contient par exemple:

#env
LESS = -E
LESS = -i
LESSCHARSET = utf-8

il va alors générer un fichier de configuration invisible nommé ".less"
dans ton "home".

man lesskey

pour plus de détail.


L'avantage de less, c'est qu'il affiche écran par écran les très long
listing, tu as juste besoin de taper la barre d'espacement pour
continuer.


Bon ce n'est peut-être pas conforme à l'orthodoxie unixienne, je
rappelle que je ne suis qu'un macounet... d'origine. ;-)


Pour rendre l'utilisation plus facile on peut se faire des alias dans
son .bashrc (si tu utilises le shell par défaut de Mac OS X 10.4), par
exemple:

alias ll='ls -lah|less'

ou

alias la='ls -ahw'

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74

Avatar
Vincent Lefevre
Dans l'article <f5gtds$83s$,
Jacques Perrocheau écrit:

In article <467bc215$0$9915$,
"Emmanuel Da Piedade" <emmanuel.dapiedade AT gmail DOT com> wrote:

Je viens tout juste de terminer ma première installation de MAC OS X 10.3
sur mon iMac dv400 :-)
Et après avoir un peu utilisé le Terminal, j'ai remarqué que les caracteres
accentués saisis au clavier sont affichés sous leur forme Unicode ( par ex
303251 pour é ) dans un shell bash. Pas très lisible ...



C'est de l'UTF-8.

Y-a-t-il un parametre a modifier pour afficher ces caractères à la saisie?


Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).

-Soit utiliser l'option w de ls, par exemple:

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.

-Soit si tu demandes à less d'afficher le résultat par exemple

ls -la | less


Oui, le fait d'utiliser un pipe rend l'option -w implicite (en gros).

et tu peux configurer less pour qu'il affiche correctement les
caractères utf-8. Cela se fait avec la commande lesskey en lui faisant
mouliner un fichier texte qui contient par exemple:

#env
LESS = -E
LESS = -i
LESSCHARSET = utf-8

il va alors générer un fichier de configuration invisible nommé ".less"
dans ton "home".

man lesskey

pour plus de détail.



L'avantage de less, c'est qu'il affiche écran par écran les très long
listing, tu as juste besoin de taper la barre d'espacement pour
continuer.


Et surtout, par défaut, il ne va pas interpréter les séquences
d'échappement.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


Avatar
jperrocheau
Vincent Lefevre <vincent+ wrote:

Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8

--
Jacques PERROCHEAU
________________________________________________________________________
e-mail: mailto:


Avatar
Emmanuel Da Piedade
Jacques Perrocheau wrote:

(snip)


Bon ce n'est peut-être pas conforme à l'orthodoxie unixienne, je
rappelle que je ne suis qu'un macounet... d'origine. ;-)


Pour rendre l'utilisation plus facile on peut se faire des alias dans
son .bashrc (si tu utilises le shell par défaut de Mac OS X 10.4), par
exemple:

alias ll='ls -lah|less'

ou

alias la='ls -ahw'


Merci pour ces conseils.
Je vais essayer ca de ce pas.

--
Emmanuel Da Piedade
http://retrocomputing.free.fr

Avatar
Vincent Lefevre
Dans l'article <1i05435.hj8gh2184e64rN%,
Jacques Perrocheau écrit:

Vincent Lefevre <vincent+ wrote:

Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?


Les fichiers texte de *l'utilisateur* (qu'il aurait écrits ou
téléchargés) peuvent être en ISO-8859-1/15. ISO-8859-* sont encore
très utilisés, surtout que certains logiciels traditionnels n'ont
toujours pas une bonne compatibilité UTF-8 (et d'ailleurs Mac OS X
est buggé sur wcwidth, e.g. wcwidth(0x0301) = 1 au lieu de 0, ce
qui peut poser des problèmes avec l'affichage des caractères
accentués en UTF-8/NFD -- ce qui est d'autant plus important
que Mac OS X semble avoir une préférence pour le NFD).

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos qui
peuvent être confidentielles...

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8


En installant le port coreutils de MacPorts par exemple.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



Avatar
Vincent Lefevre
Dans l'article <1i05435.hj8gh2184e64rN%,
Jacques Perrocheau écrit:

Vincent Lefevre <vincent+ wrote:

Régler le Terminal pour qu'il affiche en utf-8 et:


Oui. Mais inversement, tout ce qui est en ISO-8859-* ne s'affichera pas
correctement, à moins de faire des conversions (automatiques ou non).


Pour afficher quoi ? la plupart des fichiers "texte" de Mac OS X sont en
UTF-8 non ?


Les fichiers texte de *l'utilisateur* (qu'il aurait écrits ou
téléchargés) peuvent être en ISO-8859-1/15. ISO-8859-* sont encore
très utilisés, surtout que certains logiciels traditionnels n'ont
toujours pas une bonne compatibilité UTF-8 (et d'ailleurs Mac OS X
est buggé sur wcwidth, e.g. wcwidth(0x0301) = 1 au lieu de 0, ce
qui peut poser des problèmes avec l'affichage des caractères
accentués en UTF-8/NFD -- ce qui est d'autant plus important
que Mac OS X semble avoir une préférence pour le NFD).

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].

[*] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug11384

Et où trouve-t-on ce merveilleux ls pour Mac OS X qui supporte l'UTF-8


En installant le port coreutils de MacPorts par exemple.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)



Avatar
Jacques Perrocheau
In article <20070624034140$,
Vincent Lefevre <vincent+ wrote:

ls -law


Cette option -w n'est pas une bonne idée pour la sécurité, si
l'utilisateur ne contrôle pas les noms de fichiers. Mieux vaut
utiliser un ls qui supporte l'UTF-8, comme celui des coreutils.


En clair..., tu peux expliquer pour les non unixiens ?


L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].


Est-ce vraiment le cas avec tous les caractères non affichables ?

Je soumets à ta réflexion l'observation suivante (Mac OS X 10.4, bash)


moi$ ls -la
total 18827
drwxr-xr-x 2 moi moi 68 Nov 9 2006 ???Move&Rename
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 .
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15364 May 31 10:01 .DS_Store
drw------- 7 root admin 238 Nov 10 2006 .Spotlight-V100

Le ???Move&Rename est un dossier généré par le partage de fichiers
AppleShare sous Mac OS 9. Mais là n'est pas la question, je le prends
comme exemple car il a un nom vraiment "particulier".



moi$ ll
total 18827
drwxr-xr-x 2 moi moi 68B Nov 9 2006 ^C^B^AMove&Rename
drwxrwxr-t 46 root admin 1K Jun 21 11:27 .
drwxrwxr-t 46 root admin 1K Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15K May 31 10:01 .DS_Store
drw------- 7 root admin 238B Nov 10 2006 .Spotlight-V100

ll est un alias pour ls -lah|less

moi$ ls -law
total 18827
drwxr-xr-x 2 moi moi 68 Nov 9 2006 Move&Rename
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 .
drwxrwxr-t 46 root admin 1666 Jun 21 11:27 ..
-rw-r--r-- 1 moi admin 15364 May 31 10:01 .DS_Store
drw------- 7 root admin 238 Nov 10 2006 .Spotlight-V100

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74




Avatar
Vincent Lefevre
Dans l'article <f5nvq3$bf$,
Jacques Perrocheau écrit:

In article <20070624034140$,
Vincent Lefevre <vincent+ wrote:

L'option -w dit au ls de Mac OS X d'afficher tous les caractères, même
ceux non affichables, ce qui inclut des séquences d'échappement, qui
peuvent par exemple envoyer le contenu du terminal sur l'imprimante
(si cette fonctionnalité standard est supportée). Dans le cas d'une
imprimante sur un réseau, un "ls -w" peut donc divulguer des infos
qui peuvent être confidentielles... Ce problème m'était arrivé avec
la commande "find" des findutils[*].


Est-ce vraiment le cas avec tous les caractères non affichables ?


Non, évidemment, mais il suffit que ce soit possible pour qu'il y ait
problème.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


Avatar
Jacques Perrocheau
In article <20070628225603$,
Vincent Lefevre <vincent+ wrote:

Non, évidemment, mais il suffit que ce soit possible pour qu'il y ait
problème.


OK, merci pour toutes tes réponses.

--
Jacques PERROCHEAU
Synthèse et Electrosynthèse Organiques, C.N.R.S. UMR 6510
Université de Rennes I, Campus de Beaulieu, F-35042 RENNES Cedex
Tel: +33 2 23 23 63 74, Fax: +33 2 23 23 63 74