Linux - 逃避双引号

时间:2017-02-27 02:45:42

标签: shell

我有包装脚本通过ssh远程转移到另一个服务器并运行另一个shell脚本,并提供参数作为输入参数

sshwrapper.sh "executequery.ksh SYNC N \\\"\\\" \\\"\\\" \"\\\"dt='2017-02-10'\\\"\""

执行上述操作时,executequery.ksh在远程服务器上接收如下参数(按预期工作)

SYNC "" "" "dt='2017-02-10'"

然而,当我浏览Informatica时,它隐含地运行如下。

sh -c "command"

现在,在它取代上述命令的命令中,它失败了。那是

sh -c "sshwrapper.sh "executequery.ksh SYNC N \\\"\\\" \\\"\\\" \"\\\"dt='2017-02-10'\\\"\"""

你能帮忙逃避双引号,但仍应设法提供输入参数

SYNC "" "" "dt='2017-02-10'"

1 个答案:

答案 0 :(得分:0)

你将你的工作命令包含在一层引号中...问题是你的引号不再匹配......你为什么要把命令放在双引号中?这将有助于我理解信息在哪里运行以及你如何设置命令,即如果命令是一个变量我希望它是$$命令然后我会问你运行sh -c $$会发生什么命令?

也可以尝试

sshwrapper.sh executequery.ksh SYNC N“”“”“”dt ='2017-02-10'“”

相关问题