2 votes

Comment utiliser les noms de fichiers multi-octets dans le shell adb ?

J'ai un Galaxy S6 sous Android 7.0 :

zeroflte:/ $ getprop ro.build.version.release                                
7.0

Il existe un fichier qui utilise le point de code Unicode U+1F308 ( RAINBOW ) dans son nom :

zeroflte:/ $ ls -al /sdcard/tmp
total 1024
drwxrwx--x  5 root sdcard_rw 4096 2020-07-09 05:44 .
drwxrwx--x 49 root sdcard_rw 4096 2020-06-25 07:27 ..
-rw-rw----  1 root sdcard_rw   17 2018-04-25 20:47 123.org
drwxrwx--x  2 root sdcard_rw 4096 2020-07-09 05:54 crypt
-rw-rw----  1 root sdcard_rw    9 2020-07-08 13:26 .gpx
zeroflte:/ $                                                                                                                                                                                                                                 

Cependant, je ne sais pas comment utiliser ce nom de fichier dans une commande shell adb. Je voudrais appliquer ls -1 -d -l /sdcard/tmp/\.gpx ou similaire, mais je ne peux pas entrer dans le RAINBOW char. Comment faire ?

2voto

Stu Points 169

mksh développeur ici.

mksh utilise UTF-8 en interne, mais est actuellement limité au BMP (basic multilingua plane), ce qui signifie U+0000 à U+FFFD. Si vous voulez utiliser les codepoints SMP (U-00010000 à U-0010FFFD) sur la ligne d'entrée, vous devez actuellement dis able le mode UTF-8 (désolé) :

$ set +U

Cela permet de passer à un mode octet par octet qui ne limite pas l'entrée. (Vous pouvez compléter par tabulation des fichiers contenant des caractères SMP, mais pas les saisir directement, car la saisie est validée).

$ set -U   # switches back to UTF-8 mode

Le passage de mksh à l'Unicode 21 bits complet est déjà sur mon TODO, et j'espère actuellement être en mesure de le fournir pour la prochaine version.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X