J'utilise un shell bash et j'essaie de trouver le bon moyen d'écrire ce qui suit:
ssh mysuer@remotehost 'echo "update user set url = \'localhost\' where url = \'mydomain.com\';" >> /tmp/db.sql'
Jusqu'à présent, ce qui précède ne fonctionne pas.
Après avoir tapé, entrez la ligne suivante est >
comme si elle s'attend à ce que je ferme un devis ouvert quelque part. Que dois-je faire pour que cela
update user set url = 'localhost' where url = 'mydomain.com';
est la sortie dans le fichier distant?
Réponses:
Les guillemets simples ne peuvent pas être échappés, mais vous pouvez en finir avec l'existant, imprimer apostrophe (
\'
) et ouvrir le nouveau.Voici la bonne syntaxe:
la source
Cela devrait fonctionner si vous supprimez les barres obliques inverses des guillemets simples à l'intérieur de l'instruction mysql:
la source
ssh mysuer@remotehost 'echo "update user set url = '"'localhost'"' where url = '"'mydomain.com'"';"'