comment échapper au 'in ssh?


0

J'ai besoin d'échapper à 'dans cette commande pour ssh exec

grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |awk -F= '{print $2}'

Comment puis-je y échapper?

J'ai actuellement ce qui ne fonctionne pas

ssh host 'grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |awk -F= '{print $2}''

ce n'est pas

ssh host 'grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |awk -F= \'{print $2}\''

Merci, doyen


Vous ne pouvez pas échapper à des guillemets simples dans une chaîne entre guillemets.
glenn jackman

Réponses:


0

peu importe, je viens de trouver cet extrait génial qui est vraiment cool, donc je n'ai pas besoin de continuer à demander comment échapper à ceci ou cela ...

ssh user@serverB <<\EOF
your sql query....
.....
.....
EOF

0

En supposant que vous n’ayez besoin d’aucune substitution (paramètre, commande, etc.) dans la chaîne, vous pouvez utiliser $'...' citant:

ssh user@serverB $'grep str file | awk \'{print $2}\''

En remarque, vous pouvez généralement remplacer grep / awk pipelines avec un seul appel à awk:

ssh user@serverB $'awk \'/str/ {print $2}\' file'

besoin d'échapper à la $ si vous utilisez des guillemets doubles autour du corps de awk
glenn jackman

Droite; cette double citation est laissée par une approche différente que j'allais essayer, cependant. Enlevez-le entièrement pour faire un appel correct à awk à l'intérieur $'...'.
chepner
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.