Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] problème avec une fonction dans un script bash
Merci pour tes réponses enflammées :))
Il faut que j'arrive à intégrer le fait que règle 1 : le shell est un  
processeur de texte. Déjà çà il y a du boulot. Ensuite, il faut que  
j'apprenne les commandes, " $((expression)) est différent de  
$(commande)", ce qui je trouve ne facilite pas sa lecture. Je ne  
désespère pas:)
Maintenant je vais me plonger dans la lecture détaillée de tes mails  
pour essayer de comprendre un mieux. Je reviens pour la prochaine  
bêtise euh question.

Merci
Benoit


----------------message d'origine-----------------
De: Peko [papa.papa.echo at gmail.com ]
Pour: "Liste d'entraide du site http://www.lea-linux.org"  
[aide at lea-linux.org ]
Date: Mon, 25 Jan 2016 18:12:27 +0100
-------------------------------------------------


> Le 25 janvier 2016 à 17:30, benoit szczygiel Z.elec
> benoit at z-elec.com a écrit :
>>
>>
>> En fait si j'ai bien compris 16#${d} dit que la variable d est en  
>> hexa, et $(()) assure la "protection" du contenu, echo pour  
>> l'afficher.
>> Merci pour tout
>> Benoit
>
> hum, non, tu as _presque_ compris à 50%
>
>
>
> 1) " 16#${d} dit que la variable d est en hexa "
>
> Ooooouuuuuui ! Enfin presque. En réalité, non. Voir le point 2
>
>
> Les trois règles Bash-Klub:
> - n°1 : le shell est un processeur de texte
> - n°2 : le shell est un processeur de texte
> - n°3 : le shell est un processeur de texte
>
> 16#${d} ne dit pas que d est en hexa.
>
>
> En revanche, lorsque shell va traiter ce code,
> il va prendre le texte contenu dans la variable [d],
> il va lui coller devant le préfixe 16#
>
> _puis_
>
> Quand la commande de développement arithmétique $(( )) va être appelée
> sur ce texte => 16# collé à "texte contenu dans d",
> cette commande va essayer d'en calculer la valeur décimale en
> considérant que [d] contient bien le _texte_ décrivant une valeur
> décimale.
>
> La variable [d] contiendra uniquement du _texte_ , nom d'une coquille
> (jeu de mots).!
>
>
>
> 2) " $(( )) assure la "protection" du contenu "
>
>
> non.
>
>
> Nom d'un petit pingouin manchot ! ( :-D private joke )
>
>
> Mille milliards de mille sabords, mousaillon, lis un peu mieux ce  
> que j'écris.
>
> Quoi? J'écris trop ??? :-!
>
>
> Bon enfin je te disais dans un e-mail assez court :
>
> ==================================
> Ensuite, en cherchant de même, tu trouveras:
>
> Développement arithmétique
> Le développement arithmétique permet de remplacer une
> expression arithmétique par le résultat de son évaluation. Le format
> du développement arithmétique est : $((expression))
>
> <!> Attention <!> $((expression)) est différent de $(commande)
> ==================================
>
>
> D'ailleurs la "protection" comme tu dis, est possible, à différents
> niveaux et contre différents ESI (Effets Secondaires Indésirables) :
> - avec les accolades de variables
> - avec les guillemets
> - avec les apostrophes
> - avec le backslash
>
> puis:
> - Il y a des cas où l'on veut regrouper les commandes ( )
> - substituer des commandes par leur résultat $( )
>
>
> Bref, le shell, faut pas s'en taper le coquillard! (jeu de mots) Il
> faut LLMF (Lire Le Manuel Fantastique (Read The Fantastic Manual =
> RTFM + Search The Fantastic Web = STFW)
>
>
> __P
> _______________________________________________
> Aide mailing list
> Aide at lea-linux.org http://lists.lea-linux.org/listinfo/aide
>


-- 
Benoit SZCZYGIEL


Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons