我有一个包装器脚本,它通过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'"发布于 2017-02-27 17:36:33
您正在将您的工作命令封装在一层引号中...问题是你的报价不再匹配...为什么你一定要把命令放在双反逗号里?它将帮助我理解这在informatica中的什么位置运行,以及如何设置命令,例如,如果命令是一个变量,我希望它是$$command,然后我会问当你运行sh -c $$command时会发生什么?
也可以试试
sshwrapper.sh executequery.ksh SYNC N“dt=‘2017-02-10’"”
https://stackoverflow.com/questions/42477018
复制相似问题