Como faço para saída desta linha para um arquivo remoto?

1

Estou usando um shell bash e tentando descobrir o caminho certo para escrever o seguinte:

ssh mysuer@remotehost 'echo "update user set url = \'localhost\' where url = \'mydomain.com\';" >> /tmp/db.sql'

Até agora, o acima não está funcionando.

Depois de bater, digite a seguinte linha é um > como se espera para mim fechar uma cota aberta em algum lugar. O que eu preciso fazer para que isso

update user set url = 'localhost' where url = 'mydomain.com';

é enviado para o arquivo remoto?

    
por Dave 16.03.2015 / 22:14

2 respostas

1

Aspas simples não podem ser ignoradas, mas você pode finalizar a existente, imprimir o apóstrofo ( \' ) e abrir a nova.

Aqui está a sintaxe correta:

ssh user@host 'echo "update user set url = '\''localhost'\'' where url = '\''mydomain.com'\'';" >> /tmp/db.sql'
    
por 16.03.2015 / 22:37
0

Ele deve funcionar se você remover as barras invertidas das aspas simples dentro da instrução mysql:

ssh mysuer@remotehost 'echo "update user set url = 'localhost' where url = 'mydomain.com';" >> /tmp/db.sql'
    
por 16.03.2015 / 22:25