Re: meilleure maniere de prendre en compte les arguments dans un script ksh

Auteur: <openbsd.fr.eu.sy_at_puu.re>
Date: Thu, 26 Mar 2020 16:23:33 +0100

Le truc c'est que les echappements, les quotes ou double quotes ne
passent pas.


Pour donner une idée, le script est actuellement accessible ici:
https://sy.puu.re/flo

Concernant le briefing sur le script, celui-ci est inspiré de srss pour
envoyer par mail les elements des flux rss (une reprise de la version
golang qui ne me satisfaisait pas, 10mo a cause du runtime pour la
tache, c'est trop gros ^^).
De base, il envoie les mails en html mais il a la possibilité de les
envoyer en text ou multi text&html si on y rajoute en parametre la
commande pour traduire le html en text.
Cela permet d'utiliser py-html2text, pandoc ou autre selon les
desideratas de l'utilisateur pour la conversion en texte.

Le probleme est que ces derniers peuvent recevoir des arguments. Ainsi
on peut convertir via pandoc par exemple avec "pandoc -r html -t
markdown_mmd" ou "pandoc -r html -t gfm" selon le rendu voulu.

Voila des exemples d'usage avec commandes (avec le script tel
qu'actuellement getopt le permet):
        flo -f both -o pandoc/-f/html/-t/markdown_mmd
        flo -f text -o html2text/-nobs

Et voici l'usage qui aurait été préféré:
        flo -f both -o "pandoc -f html -t markdown_mmd"
        flo -f text -o "html2text -nobs"


La liste des liens de flux doit se trouver dans le fichier
~/.config/flo/flows, un par ligne.

On 26.03.2020 14:59, prx wrote:
> * openbsd.fr.eu.sy_at_puu.re <openbsd.fr.eu.sy_at_puu.re> le [26-03-2020
> 10:35:37 +0100]:
>> Bonjour à tous,
>>
>> Je profite d'un essai au scriptage avec ksh pour émettre mon premier
>> vrai
>> message public (en dehors de celui de présentation) à la communauté
>> francophone OpenBSD.
>>
>> Je souhaite intégrer la prise en compte d'arguments à un script.
>> Il y a dans le système de base la commande 'getopt' qui permet cela
>> mais
>> elle a des problèmes à gérer les arguments comportant des espaces (
>> indiqué
>> même dans la page man ).
>>
>> Ainsi, il n'est pas possible avec de lancer un script tel que:
>> programme_script -d "argument avec espace"
>>
>> Pour l'instant je contourne le probleme en remplacant les espaces par
>> des
>> slashs. Ceci dit, ce petit hack ne me satisfait guère.
>>
>> J'en appelle à vous pour savoir si vous connaissez une meilleure
>> solution à
>> proposer.
>>
>> Merci,
>> Sÿ
>
> Salut,
> Je crois qu'échapper les espaces est la meilleure méthode.
> On peut voir un exemple de ton script (si ça peut donner une
> idée...)?
ReÇu le Thu Mar 26 2020 - 16:23:33 CET

Cette archive a été créée par hypermail 2.3.0 : Thu Mar 26 2020 - 17:00:01 CET