Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/02/2026, à 10:23

ar barzh paour

[Résolu] commentaires multilignes dans un bash

bonjour
un petit truc que je viens de trouver pour (me) simplifier la vie ?
bon c'est sans doute connu par les utilisateurs avertis !!!
dans un bash si vous voulez "éliminer temporairement des lignes"
volià ce qui fonctionne sans avoir à les effacer

echo """
 xxxxxx
 yyyyyy
""" >1 /dev/null

EDIT suite aux posts suivants
plus simple

echo "
 xxxxxx
 yyyyyy
" > /dev/null

et l'autre solution d watael

: <<Etiquette
 xxxxxx
 yyyyyy
Etiquette

[/EDIT]





dans un bash (#!/bin/bash)
je me mets souvent un exemple de résultat qui peut être assez long
donc je suis obligé de diéser ces lignes pour que le bash ne soit pas perturbé par leur présence
une ligne ça va , deux lignes ça va mais quand il y en a beaucoup c'est moins cool

#                      Nom Mdp     UID
#                     root x         0
#                   daemon x         1
#                      bin x         2
#                      sys x         3
#                     sync x         4
#                    games x         5

etc

en html on utilise <!-- pour débuter un commentaire
ce commentaire finira quand on trouve -->
en css on utilise  /*   et pour finir */
exemple en html j'aurais pu utiliser

<!--
                      Nom Mdp     UID
                     root x         0
                   daemon x         1
                      bin x         2
                      sys x         3
                     sync x         4
                    games x         5 
-->

j'ai essayé par exemple avec echo """ ça fonctionne bien sauf que le résultat apparait au lancement du bash

echo """
                      Nom Mdp     UID
                     root x         0
                   daemon x         1
                      bin x         2
                      sys x         3
                     sync x         4
                    games x         5  
"""

j'ai donc essayé en ajoutant # devant echo """ mais ça ne fonctionne pas ..
# en bash le dièse n'est valable que sur la ligne

#echo """
                      Nom Mdp     UID
                     root x         0
                   daemon x         1
                      bin x         2
                      sys x         3
                     sync x         4
                    games x         5  
"""

j'ai fini par trouver cette façon de faire

echo """
                      Nom Mdp     UID
                     root x         0
                   daemon x         1
                      bin x         2
                      sys x         3
                     sync x         4
                    games x         5  
""" >1 /dev/null

des commentaires ?

Dernière modification par ar barzh paour (Le 03/02/2026, à 06:54)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 24.04, 22.04, 20.04,18.04,16.04 et 26.04 en test
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 24.04, 22.04 ,26.04   W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 01/02/2026, à 10:42

Sciensous

Re : [Résolu] commentaires multilignes dans un bash

partant de 1>/dev/null qui redirige la sortie standard vers ...rien, oui ça le fait
mais as-tu essayé avec un seul " au lieu de 3 ? ça devrait marcher aussi


sous ubuntu LTS de la 06 à la 22.04, puis arrêt pour Debian 12 et antiX 21 ou 23 (à cause des snap)
[ sous LXDE et gnome-shell ]

Hors ligne

#3 Le 01/02/2026, à 14:31

Watael

Re : [Résolu] commentaires multilignes dans un bash

des commentaires ?

oui (bah, oui! big_smile). là, tu rediriges la sortie de echo vers un fichier nommé 1.
comme le montre sciensous, c'est

echo "bla bla" 1>/dev/null

sachant que stdout est le comportement par défaut, le 1 n'est donc pas utile.

si j'ai bien compris, tu veux savoir comment faire des commentaires multilignes. c'est ça ? alors édite ton titre, stp.
par exemple :

#!/bin/bash

var=foo

# plusieurs lignes commentées
: <<multiLinesComment
echo "$var
bar
baz"
var='bla bla bla'
multiLinesComment

#reste du script
#...

j'avais le souvenir que les opérations sur les variables étaient réalisées; ça semble ne plus être le cas...
mais méfiance, tout de même.

EDIT:

une ligne ça va , deux lignes ça va mais quand il y en a beaucoup c'est moins cool

dans vim, ça se fait rapidement :

:.,nnns/^/#/

le point est la ligne courante
nnn est un numéro de ligne absolu ou relatif (par exemple +5 pour "aller" 5 lignes plus bas)
puis on substitue le debut de ligne par un dièse.

Dernière modification par Watael (Le 01/02/2026, à 16:52)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 02/02/2026, à 18:09

ar barzh paour

Re : [Résolu] commentaires multilignes dans un bash

@Sciencous
oui , dans un premier temps j'étais parti sur

echo """ 
xxx
yyy
"""

j'ai conservé """ mais un simpl " suffit

@watael
>1 ça me paraissait plus lisible
titre rectifié


: <<multiLinesComment
xxx
yy
multiLinesComment
oui ça fonctionne  mais pas à ma portée ( je suis très limité )


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 24.04, 22.04, 20.04,18.04,16.04 et 26.04 en test
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 24.04, 22.04 ,26.04   W10-PRO( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#5 Le 02/02/2026, à 18:24

iznobe

Re : [Résolu] commentaires multilignes dans un bash

Watael a écrit :

dans vim, ça se fait rapidement :

:.,nnns/^/#/

Hyper intuitif tongue

Hors ligne

#6 Le 02/02/2026, à 19:41

Watael

Re : [Résolu] commentaires multilignes dans un bash

comme du sed. big_smile

d'ailleurs, ça existe dans sed; de la même manière (hormis le point wink ), pour appliquer une substitution sur un intervalle de lignes


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne