我有一个脚本,它通过 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 的变量,则不会发生错误。
最佳答案
I'm passing double quotes inside the variable.
如果$textBODY
不包含单引号'
,你可以使用它们:
ssh -p 22 $user@$IP_ADDRESS "$SCRIPTMYSQL \"$taulaName\" \"$valueType\" \"$valueTitle\" '$textBODY' exit"
(当然,这也适用于其他变量)。
关于mysql - 将变量中带有特殊字符的大文本传递给 MYSQL 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626270/