我有一个脚本连接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的变量,则不会发生错误。
答案 0 :(得分:0)
我在变量中传递双引号。
如果$textBODY
不包含单引号'
,您可以使用它们:
ssh -p 22 $user@$IP_ADDRESS "$SCRIPTMYSQL \"$taulaName\" \"$valueType\" \"$valueTitle\" '$textBODY' exit"
(当然也适用于其他变量)。