我能够从windows环境中的java程序中使用的JSch库创建的非交互式shell在Linux服务器上运行TCL脚本。问题是我有一些脚本需要在脚本执行期间根据脚本的中间输出传递某些参数,并且在输入参数之后,脚本执行从那里开始继续。但由于它是非交互式shell,我无法在执行期间传递此参数。有什么方法可以让它发挥作用吗?我想到了一个选项,我将把参数作为命令行参数传递,但想知道其他任何方式。
答案 0 :(得分:0)
当您说“参数”时,您是指用户在交互式会话中输入的任何内容作为脚本提供的提示的输入吗?
如果是,有两种可能性:
gets
),那么只需将此输入提供给{{1的标准输入解释你的脚本的进程。如果脚本确实希望会话是交互式的(并且拒绝接受其输入流中的数据),则必须为目标进程分配一个伪TTY。
我不熟悉tclsh
,但this似乎是一个问题(和答案),涉及制作JSch
分配一个PTY。