Path: ...!eternal-september.org!reader02.eternal-september.org!news.trigofacile.com!news.ortolo.eu!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.os.linux.configuration Subject: Re: [Script shell] Chaine repartie sur plusieurs lignes avec indentation Date: Tue, 15 Feb 2022 11:47:05 +0100 Message-ID: <87wnhwwgnq.fsf@izac.org> References: Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="3923360"; mail-complaints-to="usenet@izac.org" Bytes: 1899 Lines: 40 Bonjour, Le 15/02/2022 à 10:02, pehache a écrit dans le message  : >> Un script shell contient une chaîne longue que je souhaite étaler >> sur plusieurs lignes pour limiter la longueur des lignes du script. >> Pour le moment je fais ça pour recoller les morceaux : >> 'partie 1'\ >> 'partie 2'\ >> 'partie 3' >> Mais je ne peux pas faire d'indentation sinon les morceaux sont >> traités comme des chaînes distinctes, donc ce n'est pas aligné avec >> le reste du code et c'est laid. >> Voyez-vous d'autres solutions qui permettent l'indentation, sans >> utiliser de variable ? > > Si tu acceptes qu'une espace soit insérée entre les parties (je ne > sais pas pourquoi) : > > $(echo 'partie 1'\ > 'partie 2') echo voit deux arguments donc les sépare par une espace. cmd "$(printf '%s' \ 'partie 1' \ 'partie 2')" Une autre solution (il faut que ce soit des tabulations devant pour que ça fonctionne) : cmd "$(tr -d '\n' <<-'EOF' partie 1 partie 2 partie 3 EOF )" -- Benoit Izac