我想中断我的输出日志记录线程以“确认”一个动作。例如,我想安装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
命令呢?
使用shell构造的输入重定向来提供脚本的输入。
喜欢:
echo input | ./your_script.sh