【发布时间】:2016-09-21 21:11:10
【问题描述】:
我需要有关使用 C# 执行星号 cli 命令的帮助。我可以打开终端窗口并启动星号(参见下面的代码),但不知道如何在 CLI 中执行“sip show peers”命令。有什么办法吗?
using System;
using System.Diagnostics;
namespace runGnomeTerminal
{
class MainClass
{
public static void ExecuteCommand(string command)
{
Process proc = new System.Diagnostics.Process ();
proc.StartInfo.FileName = "/bin/bash";
proc.StartInfo.Arguments = "-c \" " + command + " \"";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start ();
while (!proc.StandardOutput.EndOfStream) {
Console.WriteLine (proc.StandardOutput.ReadLine ());
}
}
public static void Main (string[] args)
{
ExecuteCommand("gnome-terminal -x bash -ic 'cd $HOME; sudo asterisk -vvvvr; bash'");
}
}
}
【问题讨论】:
-
您是否必须通过键盘输入 (
stdinput) 将输入提供给asterik?您可以使用您创建的进程的StreamReader将输入写入该进程(StandardInput属性),不要忘记将RedirectStandardInput设置为true。如果命令是通过 shell 命令行参数给出的,你应该改变你的ExecuteCommand调用。