Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.mac.programmation > #2058 > unrolled thread

AppleScript me prend le chou

Started by"M.V." <mv@gmail.com.invalid>
First post2021-11-24 17:10 +0000
Last post2021-12-01 22:10 +0100
Articles 20 — 6 participants

Back to article view | Back to fr.comp.sys.mac.programmation


Contents

  AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-24 17:10 +0000
    Re: AppleScript me prend le chou pehache <pehache.7@gmail.com> - 2021-11-24 23:39 +0100
      Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-25 08:26 +0000
      Re: AppleScript me prend le chou DV <dv@reply-to.not.invalid> - 2021-11-25 09:15 +0000
    Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-25 08:21 +0000
      Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-25 08:50 +0000
        Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-25 10:34 +0000
          Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-25 10:57 +0000
      Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-25 13:52 +0000
        Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-25 16:17 +0000
          Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-25 16:26 +0000
      Re: AppleScript me prend le chou pehache <pehache.7@gmail.com> - 2021-11-26 08:34 +0100
        Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-26 12:57 +0000
          Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-26 14:11 +0000
            Re: AppleScript me prend le chou Fleuger <g4fleurot@free.fr.invalid> - 2021-11-26 14:26 +0000
    Re: AppleScript me prend le chou josephb@nowhere.invalid (Joseph-B) - 2021-11-26 11:22 +0100
      Re: AppleScript me prend le chou "M.V." <mv@gmail.com.invalid> - 2021-11-26 11:44 +0000
    Re: AppleScript me prend le chou Olivier Miakinen <om+news@miakinen.net> - 2021-11-27 17:06 +0100
      Re: AppleScript me prend le chou Olivier Miakinen <om+news@miakinen.net> - 2021-11-27 17:10 +0100
        Re: AppleScript me prend le chou Olivier Miakinen <om+news@miakinen.net> - 2021-12-01 22:10 +0100

#2058 — AppleScript me prend le chou

From"M.V." <mv@gmail.com.invalid>
Date2021-11-24 17:10 +0000
SubjectAppleScript me prend le chou
Message-ID<snlrn0$2h7$1@dont-email.me>
Hello,

Si j'utilise AppleScript, la commande :

do shell script "echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An"

me donne comme résultat :
     fa  75  56  e6  52  06  66  16  d6  96  c6  c6  52  06  4c  3a
     96  36  96  dc  3a  96  52  07  06  17  22  06  c6  12  04  36
     f7  66  96  42  d3  13  92 

mais si je tape directement dans Terminal :

echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An

j'obtiens :
     55  6e  65  20  66  61  6d  69  6c  6c  65  20  64  c3  a9  63
     69  6d  c3  a9  65  20  70  61  72  20  6c  61  20  43  6f  76
     69  64  2d  31  39  20  c3

D'après <https://base64.guru/converter/decode/hex> référencé par
Olivier Miakinen (donc fiable), c'est le résultat de Terminal qui
est correct.

Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
le bon résultat ?

Merci d'avance.

X-post et fu2 fr.comp.sys.mac.programmation
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [next] | [standalone]


#2059

Frompehache <pehache.7@gmail.com>
Date2021-11-24 23:39 +0100
Message-ID<j07t91Fa4d3U1@mid.individual.net>
In reply to#2058
Le 24/11/2021 à 18:10, M.V. a écrit :
> Hello,
> 
> Si j'utilise AppleScript, la commande :
> 
> do shell script "echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An"
> 
> me donne comme résultat :
>       fa  75  56  e6  52  06  66  16  d6  96  c6  c6  52  06  4c  3a
>       96  36  96  dc  3a  96  52  07  06  17  22  06  c6  12  04  36
>       f7  66  96  42  d3  13  92
> 
> mais si je tape directement dans Terminal :
> 
> echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An
> 
> j'obtiens :
>       55  6e  65  20  66  61  6d  69  6c  6c  65  20  64  c3  a9  63
>       69  6d  c3  a9  65  20  70  61  72  20  6c  61  20  43  6f  76
>       69  64  2d  31  39  20  c3
> 
> D'après <https://base64.guru/converter/decode/hex> référencé par
> Olivier Miakinen (donc fiable), c'est le résultat de Terminal qui
> est correct.
> 
> Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
> le bon résultat ?
> 

J'ai bien une idée mais vu que tu m'as plonké, tant pis :)


-- 
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine

[toc] | [prev] | [next] | [standalone]


#2061

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-25 08:26 +0000
Message-ID<snnhb6$978$1@dont-email.me>
In reply to#2059
Le 24 novembre 2021 à 23:39, pehache a écrit ceci :

> J'ai bien une idée mais vu que tu m'as plonké, tant pis :)

S'il t'a plonké, il ne peux pas lire ton message !

Mais moi, j'aurais bien aimé avoir l'explication parce que j'ai bien la
solution, mais je ne comprends pas pourquoi, au vu des liens que j'ai
consultés et donnés.
-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2063

FromDV <dv@reply-to.not.invalid>
Date2021-11-25 09:15 +0000
Message-ID<snnk76$ur5$2@rasp.pasdenom.info>
In reply to#2059
pehache a écrit ceci :

> J'ai bien une idée mais vu que tu m'as plonké, tant pis :)

26 lignes de citation pour annoncer en une seule ligne qu'on ne répondra
pas, c'est très fort.

-- 
Denis

[toc] | [prev] | [next] | [standalone]


#2060

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-25 08:21 +0000
Message-ID<snnh1s$7mg$1@dont-email.me>
In reply to#2058
Le 24 novembre 2021 à 18:10, M.V. a écrit ceci :

> Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
> le bon résultat ?

C'est l'option -n qui ne lui plait pas.

do shell script "echo
VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t
x1 -An"
donne le bon résultat.
Je ne sais pas pourquoi.
-n supprime le caractère de fin de ligne.
Mais au vu de la réponse du terminal sans l'option, je ne vois pas de
caractère de fin de ligne.
<x-man-page://echo>
<https://fr.wikipedia.org/wiki/Echo_(Unix)>
-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2062

From"M.V." <mv@gmail.com.invalid>
Date2021-11-25 08:50 +0000
Message-ID<snnioq$i5k$1@dont-email.me>
In reply to#2060
Le 25 novembre 2021 à 09 h 21, Fleuger a tenu les propos suivants :

> C'est l'option -n qui ne lui plait pas.
>
> do shell script "echo
> VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t
> x1 -An"
> donne le bon résultat.

Parfait en effet… Ça fait tout à fait mon affaire ! ;-)
Comment t'est venue cette brillante idée ?

> -n supprime le caractère de fin de ligne.
> Mais au vu de la réponse du terminal sans l'option, je ne vois pas de
> caractère de fin de ligne.

Moi non plus mais je ne sais pas trop ce qu'est un « caractère de fin
de ligne ».

Un grand merci.
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2064

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-25 10:34 +0000
Message-ID<snnoqo$qkr$1@dont-email.me>
In reply to#2062
Le 25 novembre 2021 à 09:50, M.V. a écrit ceci :

> Parfait en effet… Ça fait tout à fait mon affaire ! ;-)
> Comment t'est venue cette brillante idée ?

Intuitivement : j'ai ouvert le man pour voir à quoi correspondait
l'option.

> Moi non plus mais je ne sais pas trop ce qu'est un « caractère de fin
> de ligne ».

Il y a un exemple sur la page :
<https://fr.wikipedia.org/wiki/Echo_(Unix)>

Il y a l'Unix pur et l'Unix à la sauce Apple, ce qui est probablement la
cause de l'anomalie que tu as rencontrée. 

-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2065

From"M.V." <mv@gmail.com.invalid>
Date2021-11-25 10:57 +0000
Message-ID<snnq6o$47r$1@dont-email.me>
In reply to#2064
Le 25 novembre 2021 à 11 h 34, Fleuger a tenu les propos suivants :

>> Moi non plus mais je ne sais pas trop ce qu'est un « caractère de fin
>> de ligne ».
>
> Il y a un exemple sur la page :
> <https://fr.wikipedia.org/wiki/Echo_(Unix)>

Vu.
Merci pour tout… tu m'as sauvé ma journée ! ;-)
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2066

From"M.V." <mv@gmail.com.invalid>
Date2021-11-25 13:52 +0000
Message-ID<sno4eo$aiv$1@dont-email.me>
In reply to#2060
Le 25 novembre 2021 à 09 h 21, Fleuger a tenu les propos suivants :

> C'est l'option -n qui ne lui plait pas.

Je viens de voir que l'option -e ne plaisait pas non plus à AS !
- dans Terminal : echo -e "\x4E" → N
- dans AS : do shell script "echo -e '\\'x4E" → -e N
alors que : do shell script "echo '\\'x4E" → N
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2067

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-25 16:17 +0000
Message-ID<snocv8$fh9$1@dont-email.me>
In reply to#2066
Le 25 novembre 2021 à 14:52, M.V. a écrit ceci :

> Je viens de voir que l'option -e ne plaisait pas non plus à AS !
> - dans Terminal : echo -e "\x4E" → N
> - dans AS : do shell script "echo -e '\\'x4E" → -e N
> alors que : do shell script "echo '\\'x4E" → N

J'ai l'impression que cette commande est difficile à gérer suivant les
systèmes (ou les shell).
Dans le man Apple, l'option -e n'est précisée.
Mais je l'ai trouvée sur <https://ss64.com/osx/echo.html> et je n'y
comprends pas grand chose.
-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2068

From"M.V." <mv@gmail.com.invalid>
Date2021-11-25 16:26 +0000
Message-ID<snodf2$jfb$1@dont-email.me>
In reply to#2067
Le 25 novembre 2021 à 17 h 17, Fleuger a tenu les propos suivants :

> Dans le man Apple, l'option -e n'est précisée.

J'avais pris modèle ici :
<https://www.baeldung.com/linux/character-hex-to-ascii>
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2069

Frompehache <pehache.7@gmail.com>
Date2021-11-26 08:34 +0100
Message-ID<j0bh0eFkg9U1@mid.individual.net>
In reply to#2060
Le 25/11/2021 à 09:21, Fleuger a écrit :
> Le 24 novembre 2021 à 18:10, M.V. a écrit ceci :
> 
>> Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
>> le bon résultat ?
> 
> C'est l'option -n qui ne lui plait pas.
> 
> do shell script "echo
> VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t
> x1 -An"
> donne le bon résultat.
> Je ne sais pas pourquoi.
> -n supprime le caractère de fin de ligne.
> Mais au vu de la réponse du terminal sans l'option, je ne vois pas de
> caractère de fin de ligne.
> <x-man-page://echo>
> <https://fr.wikipedia.org/wiki/Echo_(Unix)>
> 

Je n'avais pas d'idée toute faite sur la question, juste des pistes. Par 
exemple que le shell lancé par Apple Script n'est peut-être pas le même, 
et/ou que sa configuration est différente, de celui du Terminal. Entre 
les différents shells il y a parfois des comportements différents. 
D'ailleurs je vois que "echo -n toto" ne se comporte pas pareil dans 
bash et dans zsh (du moins avec leurs configs par défaut).

Et aussi de tester individuellement chacune des 3 commandes enchaînées 
par les pipes, pour voir laquelle est "fautive".

-- 
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine

[toc] | [prev] | [next] | [standalone]


#2072

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-26 12:57 +0000
Message-ID<snqlji$45d$1@dont-email.me>
In reply to#2069
Le 26 novembre 2021 à 08:34, pehache a écrit ceci :

> Je n'avais pas d'idée toute faite sur la question, juste des pistes. Par 
> exemple que le shell lancé par Apple Script n'est peut-être pas le même, 
> et/ou que sa configuration est différente, de celui du Terminal. Entre 
> les différents shells il y a parfois des comportements différents. 
> D'ailleurs je vois que "echo -n toto" ne se comporte pas pareil dans 
> bash et dans zsh (du moins avec leurs configs par défaut).
>
> Et aussi de tester individuellement chacune des 3 commandes enchaînées 
> par les pipes, pour voir laquelle est "fautive".

Merci pour tes explications.
J'ai zsh sur mon mac
➜  ~ echo toto
toto
➜  ~ echo -n "toto"
toto%                                                                   
                                                                        
       
➜  ~ echo -e toto
toto
➜  ~ echo -e "toto"
toto

L'option -n destinée à supprimer le caractère de fin de ligne ne
fonctionne pas alors que -e fonctionne.
Le man echo apple date de 2003
Sur mon Ubuntu virtualisé il date de 2019 et c'est bash et différend de
<https://ss64.com/bash/echo.html>
L'option -n supprime le retour à ligne.
Le nouveau prompt s'inscrit en suivant directement sans espace.
fleurotg@fleurotg-VirtualBox:~$ echo -n toto
totofleurotg@fleurotg-VirtualBox:~$ echo toto
toto
fleurotg@fleurotg-VirtualBox:~$ 
 
-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2073

From"M.V." <mv@gmail.com.invalid>
Date2021-11-26 14:11 +0000
Message-ID<snqpts$6dl$1@dont-email.me>
In reply to#2072
Le 26 novembre 2021 à 13 h 57, Fleuger a tenu les propos suivants :

> J'ai zsh sur mon mac
> ➜  ~ echo toto
> toto
> ➜  ~ echo -n "toto"
> toto%                                                                   
>                                                                         
>        
> ➜  ~ echo -e toto
> toto
> ➜  ~ echo -e "toto"
> toto

En bash :
echo toto ➜ toto avec retour ligne et nouveau prompt
echo -n toto ➜ toto sans saut de ligne avant le nouveau prompt

echo -e toto ➜ toto avec retour ligne et nouveau prompt

Avec AS (Terminal en bash) :
do shell script "echo -n toto" ➜ -n toto
do shell script "echo -e toto" ➜ -e toto

Mêmes résultats avec AS quand Terminal est en zsh
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2074

FromFleuger <g4fleurot@free.fr.invalid>
Date2021-11-26 14:26 +0000
Message-ID<snqqr3$dk6$1@dont-email.me>
In reply to#2073
Le 26 novembre 2021 à 15:11, M.V. a écrit ceci :

> En bash :
> echo toto ➜ toto avec retour ligne et nouveau prompt
> echo -n toto ➜ toto sans saut de ligne avant le nouveau prompt
>
> echo -e toto ➜ toto avec retour ligne et nouveau prompt
>
> Avec AS (Terminal en bash) :
> do shell script "echo -n toto" ➜ -n toto
> do shell script "echo -e toto" ➜ -e toto
>
> Mêmes résultats avec AS quand Terminal est en zsh

Ça confirme ce qu'a dit Joseph.
-- 
Gérard FLEUROT

[toc] | [prev] | [next] | [standalone]


#2070

Fromjosephb@nowhere.invalid (Joseph-B)
Date2021-11-26 11:22 +0100
Message-ID<1pj9086.5zbm84qo5f6kN%josephb@nowhere.invalid>
In reply to#2058
Bonjour Michel
M.V. <mv@gmail.com.invalid> wrote:

> 
> Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
> le bon résultat ?

La raison en est donnée dans le man de "echo" : le builtin echo du shell
fourni avec OS X, comme recommandé par les normes en vigueur, retire
d'abord l'argument -n (censé rajouter une linefeed à la fin du bloc à
décoder), alors que l'interpréteur d'Applescript transmet littéralement
la chaîne entrée au bas niveau du shell. 
Supprimer le -n, dans le Terminal mais surtout dans la commande
Applescript retourne la bonne valeur.
Cordialement,



-- 
J. B.

[toc] | [prev] | [next] | [standalone]


#2071

From"M.V." <mv@gmail.com.invalid>
Date2021-11-26 11:44 +0000
Message-ID<snqhat$2et$1@dont-email.me>
In reply to#2070
Le 26 novembre 2021 à 11 h 22, Joseph-B a tenu les propos suivants :

> Supprimer le -n, dans le Terminal mais surtout dans la commande
> Applescript retourne la bonne valeur.

En effet et tu confirmes ce qu'avait écrit Fleuger.
Je m'aperçois de plus que plein de petits trucs qui fonctionnent
directement dans Terminal ne fonctionnent pas via AS : j'ai déjà signalé
la commande avec echo -e et je viens de voir que dans Terminal :
ps -o comm= $$
donne bien le shell utilisé alors que dans AS :
do shell script "ps -o comm= $$" 
répond…
ps
!!!
C'est 
do shell script "ps -o comm= "
qui répond correctement.

Merci.
-- 
Michel VAUQUOIS - <http://michelvauquois.fr>

[toc] | [prev] | [next] | [standalone]


#2075

FromOlivier Miakinen <om+news@miakinen.net>
Date2021-11-27 17:06 +0100
Message-ID<sntl2c$2kp1$1@cabale.usenet-fr.net>
In reply to#2058
Bonjour,

Je n'ai pas de Mac et jamais utilisé AppleScript, mais les énigmes liées
aux charsets me passionnent.

Le 24/11/2021 18:10, M.V. a écrit :
> Hello,
> 
> Si j'utilise AppleScript, la commande :
> 
> do shell script "echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An"
> 
> me donne comme résultat :
>      fa  75  56  e6  52  06  66  16  d6  96  c6  c6  52  06  4c  3a
>      96  36  96  dc  3a  96  52  07  06  17  22  06  c6  12  04  36
>      f7  66  96  42  d3  13  92 

Résultat incorrect.

> mais si je tape directement dans Terminal :
> 
> echo -n VW5lIGZhbWlsbGUgZMOpY2ltw6llIHBhciBsYSBDb3ZpZC0xOSDD | base64 -D | od -t x1 -An
> 
> j'obtiens :
>      55  6e  65  20  66  61  6d  69  6c  6c  65  20  64  c3  a9  63
>      69  6d  c3  a9  65  20  70  61  72  20  6c  61  20  43  6f  76
>      69  64  2d  31  39  20  c3

Résultat correct.

> Est-ce que quelqu'un pourrait m'expliquer pourquoi AS ne me donne pas
> le bon résultat ?

Comme dit plus haut je ne connais pas le logiciel, mais je peux peut-être te
donner une piste vers la solution.

Prenons la première ligne du résultat incorrect :
     fa  75  56  e6  52  06  66  16  d6  96  c6  c6  52  06  4c  3a

Retirons les trois premiers chiffres hexa (fa  7) :
     5  56  e6  52  06  66  16  d6  96  c6  c6  52  06  4c  3a

Maintenant déplaçons chaque double-espace d'une position pour regrouper de
nouveau les chiffres hexa deux par deux :
     55  6e  65  20  66  61  6d  69  6c  6c  65  20  64  c3  a

Tiens... tiens... ça ne te rappelle pas le résultat correct ?

:-D


À toi maintenant de déterminer ce qui a pu se passer entre la commande base64
et la commande od.

-- 
Olivier Miakinen

[toc] | [prev] | [next] | [standalone]


#2076

FromOlivier Miakinen <om+news@miakinen.net>
Date2021-11-27 17:10 +0100
Message-ID<sntlai$2kp1$2@cabale.usenet-fr.net>
In reply to#2075
Le 27/11/2021 17:06, j'écrivais :
> 
> À toi maintenant de déterminer ce qui a pu se passer entre la commande base64
> et la commande od.

Oups ! Je viens seulement de voir que tu as eu des réponses, et que le fautif
était l'option -n de la commande echo.

Cela dit, ça n'explique pas comment le résultat peut se retrouver décalé
d'un nombre d'octets demi-entier.


-- 
Olivier Miakinen

[toc] | [prev] | [next] | [standalone]


#2079

FromOlivier Miakinen <om+news@miakinen.net>
Date2021-12-01 22:10 +0100
Message-ID<so8obo$1qak$1@cabale.usenet-fr.net>
In reply to#2076
Le 27/11/2021 17:10, j'écrivais :
> 
> Cela dit, ça n'explique pas comment le résultat peut se retrouver décalé
> d'un nombre d'octets demi-entier.

Quelqu'un a une explication ? Comme avec un bon roman policier je ne
serai pas tranquille tant que je ne saurai pas ce qui a pu se passer.


-- 
Olivier Miakinen

[toc] | [prev] | [standalone]


Back to top | Article view | fr.comp.sys.mac.programmation


csiph-web