如何通过Java中的JSch中的ChannelExec.setCommand()方法传递变量?

时间:2017-06-07 15:20:17

标签: java session ssh jsch

以下是我的代码。请检查

ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand("sh "+ "a.sh; echo \\$No");

a.sh是Linux服务器中的shell脚本。我需要运行脚本以及No的值(作为Java函数的参数接收)。

但是,No的值不会传递给我的shell脚本。

请帮忙。

1 个答案:

答案 0 :(得分:0)

这是一个常规的Java字符串,即传递给ChannelExec.setCommand()的内容。所以使用字符串连接(就像你已经做的那样):

channelExec.setCommand("sh "+ "a.sh; echo \\" + No);