如何在Java中的JSch中通过ChannelExec.setCommand()方法传递变量?
How to pass variable through ChannelExec.setCommand() method in JSch in Java?
下面是我的代码。请检查
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 脚本。
请帮忙。
这是一个常规的 Java 字符串,您传递给 ChannelExec.setCommand()
的内容。所以使用字符串连接(就像你已经在做的那样):
channelExec.setCommand("sh "+ "a.sh; echo \" + No);
下面是我的代码。请检查
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 脚本。
请帮忙。
这是一个常规的 Java 字符串,您传递给 ChannelExec.setCommand()
的内容。所以使用字符串连接(就像你已经在做的那样):
channelExec.setCommand("sh "+ "a.sh; echo \" + No);