Sujet : Re: [Script shell] Chaine repartie sur plusieurs lignes avec indentation
De : pascal (at) *nospam* plouf.fr.eu.org (Pascal Hambourg)
Groupes : fr.comp.os.linux.configurationDate : 15. Feb 2022, 14:00:38
Autres entêtes
Organisation : Le serveur de jdd pour fr*
Message-ID : <sug85n$k09$1@ns507557.dodin.fr.nf>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux i686; rv:91.0) Gecko/20100101 Thunderbird/91.6.0
Le 15/02/2022 à 09:25, Pascal Hambourg a écrit :
Voyez-vous d'autres solutions qui permettent l'indentation, sans utiliser de variable ?
Merci pour vos contributions. Je fais une réponse groupée.
Pourquoi sans utiliser de variable ? Parce que je sais faire avec, et que j'espère trouver "mieux" (mais apparemment ce n'est pas gagné).
Mes critères sont lisibilité, robustesse (insensibilité à l'indentation avec tabulation ou espace) et efficacité du code.
Oui, dans le cas présent l'insertion d'espaces au sens large (tabulation, fin de ligne...) est acceptable.
Par contre je préfère éviter d'utiliser la commande echo dont le comportement varie selon l'implémentation. Par exemple celle intégrée à dash interprète \ comme un caractère d'échappement (option -e implicite, et pas d'option -E pour l'annuler), et il y en a dans cette chaîne. Je lui préfère donc printf.
Je n'aime pas trop les constructions à base de <<. Certes <<- supprime les tabulations en début de ligne, mais pas les espaces donc c'est fragile.
Concernant l'efficacité, je doute que l'utilisation de commandes (même intégrées au shell) ou de redirections soit mieux qu'une variable.