[英]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.