繁体   English   中英

响应SSH.NET中的命令提示符

[英]Responding to command prompts in SSH.NET

我想中断我的输出日志记录线程以“确认”操作。 例如,我想安装php,因此输入sudo apt-get install php 比起我必须用y确认,我知道我可以写sudo apt-get install php -y 执行脚本时遇到相同的问题,必须填写必要的信息。

using (var client = new SshClient(ip, Convert.ToInt16(port), username, password))
{
    client.Connect();

    var command = client.CreateCommand((txtCommand.Text));
    var result = command.BeginExecute();

    //log vps output 
    using (var reader =
       new StreamReader(command.OutputStream, Encoding.UTF8, true, 1024, true))
    {
        while (!result.IsCompleted || !reader.EndOfStream)
        {
            string line = reader.ReadLine();
            if (line != null)
            {
                     txtOutput1.Invoke(
                         (MethodInvoker)(() =>
                     txtOutput1.AppendText(line + Environment.NewLine)));
            }
        }
    }

    command.EndExecute(result);
    client.Disconnect();
}

那么,如何中断线程以执行新命令来解决read命令呢?

使用使用外壳结构的输入重定向将输入提供给脚本。

喜欢:

echo input | ./your_script.sh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM