[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: HS: petite question bash et variable en argument d'une commande



Hello,

25 mars 2021, 09:02 de mc@unistra.fr:

>> Comme indiqué de manière très détaillée sur https://mywiki.wooledge.org/BashFAQ/050
>>
> (désolé c'est en anglais), stocker des commandes dans des variables est très hasardeux.
>
> je ne lit plus jamais qu'en diagonale toute litterature spécifique à
> bash mais oui: les choses sont compliquées voir impossibles dans une
> chaine. par contre ...
>
>> La façon la moins risquée est de passer par un tableau (d'ailleurs
>> t'avais évoqué l'idée dans ton message initial).
>>
>
> non!
> [...]
> ensuite: la façon la moins risquée s'appelle une fonction et c'est même
> fait pour. ca permet de surcroit de profiter
>
> * de la localisation des variables dans le contexte de la fonction.
> * du paramétrage d'une valeur par défaut
>
Je parlais du cas où l'on souhaiterait absolument passer par une variable. Vaut mieux le tableau que la chaîne.
Nous sommes en phase sur la fonction.

> autre manière de faire pour éviter le quoting hell: xargs
> https://pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html
>
> date=tomorrow
>
> # des trucs ...
>
> <<. xargs -d'\n' date
> -d ${date:--1day}
> +%A %d %B
> .
>
> xargs prend aussi un fichier, du coup tu peux composer ta commande
> petit à petit
>
> exec 9>/tmp/mydate
> >&9 echo "-d ${date:--1day}"
> >&9 echo '+%A %d %B'
> exec 9>&-
> xargs -a /tmp/mydate -d'\n' date
>
Merci, ça m'a fait réviser xargs et les redirections/descripteurs de fichiers non standards ;)

25 mars 2021, 19:14 de k6dedijon@free.fr:

> Pour info : tutorial bash
> http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/
>
Oui, ce cours est vraiment top je trouve.
Je l'avais massivement utilisé à mes débuts en bash !

Bonne fin de journée
l0f4r0


Reply to: