Bash : protéger une quote simple, possible ? [Résolu/Fermé]

Signaler
-
 gnugo -
Bonjour,
Encore une fois je sollicite votre aide...

Peut-on protéger une simple quote en bash ?
exemple (qui ne fonctionne pas) echo 'aa $$ \' bb '
(Résultat attendu : aa $$ ' bb)


Dans un script je voudrais passer une variable texte en paramètre à une commande sur un serveur distant par ssh
mais entre les guillemets à protéger, les backquotes et les dollars je m'en sors plus
d'où l'idée de ssh serv "commande '$argument' "
Mais il me faut protéger les " ' " qui peuvent se trouver dans $argument

Je vous remercie d'avance

4 réponses

Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
hello
$ echo 'aa $$ '\'' bb ' 
aa $$ ' bb 
$  
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci
la difficulté est de remplacer tous les ' par '\''
${variable//\'/\'\\\'\'} ne marche pas car le 2eme motif est bizarrement interprété

J'ai pu contourner avec q="'"; ${variable//\'/$q\\$q$q}
Merci bien en tout cas :)

salut,

echo "aa \$$ ' bb " 
aa $$ ' bb
;)
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
et aussi
$ echo "aa "'$$'" ' bb "
aa $$ ' bb 
$ 
Je voulais justement éviter les " ", et mettre tout en ' , d'où ma question sur le moyen de les protéger

avec " ", je dois surprotéger les backquotes, $ et " à chaque niveau de ssh, c'est exponentiel (ssh s1 "ssh s2 \"ssh s3 \\\" ssh s4 \\\\\\\" ssh s5 \\\\\\\\\\\\\\\" echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bonjour cela fait 5\\\\\\\\\\\\\...$....
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
il y a aussi
$ printf 'aa $$ \x27 bb\n' 
aa $$ ' bb  
$ printf 'aa $$ \x5c bb\n' 
aa $$ \ bb  
$ 
remplacer toutes les quotes pas \x27 oui
Mais ça ne marche qu'avec printf
Je passe ma chaine de caractères à d'autres scripts/programmes en argument, je ne cherchais pas juste à l'afficher
Mais dans ce contexte là oui ce serait une solution!
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
sinon mettre tout dans un fichier à exécuter pour éviter trop d'échappements imbriqués
Mais le contenu est dynamique et fonction du serveur qui exécute le script ;)

Mais j'ai maintenant la solution avec les ' c'est propre