【问题标题】:Passing execution time parameters to TCL scripts from non interactive shell从非交互式 shell 将执行时间参数传递给 TCL 脚本
【发布时间】:2013-04-15 19:20:33
【问题描述】:

我能够从 Windows 环境的 java 程序中使用的 JSch 库创建的非交互式 shell 在 linux 服务器上运行 TCL 脚本。问题是我有一些脚本需要在脚本执行期间根据脚本的中间输出传递某些参数,并且在输入参数后,脚本执行从那里继续。但由于它是非交互式外壳,我无法在执行期间传递此参数。有什么办法可以让它工作吗?我想到了一个选项,我将参数作为命令行参数传递,但想知道其他方式。

【问题讨论】:

    标签: tcl interactive jsch


    【解决方案1】:

    当您说“参数”时,您是指用户在交互式会话中输入的任何内容,作为脚本提供的提示的输入? p>

    如果是,有两种可能:

    • 如果脚本不希望会话是交互式的,而只是从其标准输入流中读取其输入(例如使用gets),那么只需将此输入提供给tclsh 进程的标准输入解释您的脚本。
    • 如果脚本确实希望会话是交互式的(并且拒绝只接受来自其输入流的数据),则您必须为目标进程分配一个伪 TTY。

      我不熟悉JSch,但this 似乎是一个处理JSch 分配PTY 的问题(和一个答案)。

    【讨论】:

    • 是的,参数表示用户将在交互式 shell 中输入的内容。由于脚本希望会话是交互式的,我将尝试使用 JSch 探索伪 TTY 的选项。谢谢。 :) 很快就会公布结果。
    猜你喜欢
    • 1970-01-01
    • 2018-10-17
    • 2013-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多