Я пытаюсь выполнить запрос MySQL на удаленном сервере через ssh. Вот моя команда:
ssh -p 2020 mysql@mysql1.local.mydomain.com 'mysql --compress --secure-auth --database operations --execute \'INSERT INTO `ops`.`accounts` (`alias`, `id`, `web_server`, `mysql_server`) VALUES (\'thisisatest\', \'act_67vhVnS30bV\', \'web2\', \'mysql1\');\''
Это должно быть правильно, но я получаю:
bash: syntax error near unexpected token `('
Любые идеи?
Вы можете переписать команду так:
ssh -p 2020 mysql@mysql1.local.mydomain.com "mysql --compress --secure-auth --database operations --execute 'INSERT INTO \` ops \ `. \` accounts \ `(\` alias \ ` , \ `id \`, \ `web_server \`, \ `mysql_server \`) VALUES ('thisisatest', 'act_67vhVnS30bV', 'web2', 'mysql1'); '"
Используйте двойные кавычки для полной команды SSH. Одиночные кавычки не требуют экранирования. Вам нужно избегать обратных кавычек \ `.