
Estoy usando un shell bash e intento encontrar la forma correcta de escribir lo siguiente:
ssh mysuer@remotehost 'echo "update user set url = \'localhost\' where url = \'mydomain.com\';" >> /tmp/db.sql'
Hasta ahora lo anterior no funciona.
Después de presionar Enter, la siguiente línea es >
como si esperara que cerrara una cotización abierta en algún lugar. ¿Qué necesito hacer para que esto
update user set url = 'localhost' where url = 'mydomain.com';
¿Se envía al archivo remoto?
Respuesta1
No se pueden omitir las comillas simples, pero puede finalizar la existente, imprimir el apóstrofe ( \'
) y abrir la nueva.
Aquí está la sintaxis correcta:
ssh user@host 'echo "update user set url = '\''localhost'\'' where url = '\''mydomain.com'\'';" >> /tmp/db.sql'
Respuesta2
Debería funcionar si eliminas las barras invertidas de las comillas simples dentro de la declaración mysql:
ssh mysuer@remotehost 'echo "update user set url = 'localhost' where url = 'mydomain.com';" >> /tmp/db.sql'