2017-06-07 399 views
0

以下是我的代码。请检查如何通过Java中的JSch中的ChannelExec.setCommand()方法传递变量?

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脚本。

请帮忙。

回答

0

这是一个普通的Java字符串,你传递给ChannelExec.setCommand()。因此,使用字符串连接(因为您已经在做):

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

非常感谢。有效.. –