将带有特殊字符的大型文本传递给MYSQL时出错

时间:2015-06-03 16:58:14

标签: mysql bash

我有一个脚本连接SSH到远程主机,并执行另一个脚本,将数据插入本地MySQL数据库。我传递了需要在SSH中插入的所有变量。 $ textBody变量的所有工作都很好。我认为问题是这个变量中有很多文本(包括可能导致错误的特殊字符)。

ssh -p 22 $user@$IP_ADDRESS "$SCRIPTMYSQL \"$taulaName\" \"$valueType\" \"$valueTitle\" \"$textBODY\" exit"

这是我得到的错误:

jailshell: -u: command not found
ERROR at line 1: Unknown command '\S'.

如果我在其位置传递另一个不同于$ textBODY的变量,则不会发生错误。

1 个答案:

答案 0 :(得分:0)

  

我在变量中传递双引号。

如果$textBODY不包含单引号',您可以使用它们:

ssh -p 22 $user@$IP_ADDRESS "$SCRIPTMYSQL \"$taulaName\" \"$valueType\" \"$valueTitle\" '$textBODY' exit"

(当然也适用于其他变量)。