让我们使用这个例子:
#!/bin/bash
ssh me@host "mysql -uuser -ppwd -t -e 'select * from mydb.mytable where id='$1''"
注意一个问题:命令本身的单引号内的单引号。我试图逃避它(\') - 没有运气,"Unmatched '"
说。想法?
答案 0 :(得分:2)
尝试
#!/bin/bash
echo "select * from mydb.mytable where id='$1';" | ssh me@host mysql -uuser -ppwd -t
答案 1 :(得分:0)
即使@ringo已回答您的确切查询,但由于以下原因我发布此内容 -
通过ssh,您必须与源服务器共享目标服务器。即使没有必要通过ssh与源服务器共享目标服务器,您也可以通过mysql远程连接实现它,如下面的命令。
mysql -h <targetServerIp> -uuser -ppwd -e "select * from mydb.mytable where id='$1';"
注意:确保此用户具有全局权限或目标mysql服务器上的源服务器。