我没有对MySQL服务器的远程访问,所以我试图通过SSH会话进行访问。
部分起作用,但不正确。
sshpass -p $password ssh user@$IP /bin/bash << EOF
mysql -N -uroot -ppassword test -e "select id from client where user ='$user'"
EOF
这将显示select语句的结果,但是我希望能够在另一个echo语句中使用该结果。
例如:
The user ID is: xxxxx
我尝试使用以下方法将输出分配给变量:
sshpass -p $password ssh user@$IP /bin/bash << EOF
res=$(mysql -N -uroot -ppassword test -e "select id from client where user ='$user'")
echo $res
EOF
但是结果是:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysql/mysql.sock' (2)
如果我像'EOF'
一样引用EOF,则可以将结果输入到res
中,但我失去了使用$user
的能力]
反正有这样做的方法,所以我可以在heredoc中使用变量并将MySQL查询的结果转换为新变量?
谢谢
我没有对MySQL服务器的远程访问,因此我试图通过SSH会话进行访问。它部分起作用,但不正确。 sshpass -p $ password ssh user @ $ IP / bin / bash << EOF mysql -N -uroot ...
如果我将EOF像'EOF'这样引用,那么我可以将结果存入res,但是我失去了使用$ user的能力