Bash : protéger une quote simple, possible ?
Résolu
gnugo
-
gnugo -
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
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
A voir également:
- Bash : protéger une quote simple, possible ?
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
4 réponses
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\\\\\\\\\\\\\...$....
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\\\\\\\\\\\\\...$....
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 :)