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

Dean Hiller
la source
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
Dean Hiller
la source
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'
chepner
la source
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