单声道 Linux Shell 命令
Mono Linux Shell command
我在 Linux 中在 Mono 上执行了这个命令:
System.Diagnostics.Process.Start("snmpwalk", " -v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0 > /home/dana/Desktop/test.txt")
它应该在桌面上的 .txt 文件中获取 SystemUpTime,我在应用程序输出中得到了答案,但它没有创建文件。
是否可以使用此命令在 .txt 文件中获取答案?提前致谢。
我不认为你可以通过这种方式获得输出重定向。
但是你可以这样做:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.Start("snmpwalk", " -v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0")
//Then use the StandardOutput property of the process to read its output
string procOutput = proc.StandardOutput.ReadToEnd();
//Write the output to your file
System.IO.File.WriteAllText("/home/dana/Desktop/test.txt", output);
上面的例子需要修改
阅读 Dana 评论后,我对上面的示例进行了扩展。
System.Diagnostics.Process proc = new System.Diagnostics.Process();
//this should tell not to start a console
proc.StartInfo.UseShellExecute = False
//this should tell that you are redirecting process output
proc.StartInfo.RedirectStandardOutput = True
proc.StartInfo.FileName = "snmpwalk"
proc.StartInfo.Arguments = "-v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0"
proc.Start()
//Then use the StandardOutput property of the process to read its output
string procOutput = proc.StandardOutput.ReadToEnd();
//Write the output to your file
System.IO.File.WriteAllText("/home/dana/Desktop/test.txt", output);
我试过将一个简单的 ping 输出重定向到一个文本文件并且成功了。
我在 Linux 中在 Mono 上执行了这个命令:
System.Diagnostics.Process.Start("snmpwalk", " -v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0 > /home/dana/Desktop/test.txt")
它应该在桌面上的 .txt 文件中获取 SystemUpTime,我在应用程序输出中得到了答案,但它没有创建文件。
是否可以使用此命令在 .txt 文件中获取答案?提前致谢。
我不认为你可以通过这种方式获得输出重定向。
但是你可以这样做:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.Start("snmpwalk", " -v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0")
//Then use the StandardOutput property of the process to read its output
string procOutput = proc.StandardOutput.ReadToEnd();
//Write the output to your file
System.IO.File.WriteAllText("/home/dana/Desktop/test.txt", output);
上面的例子需要修改
阅读 Dana 评论后,我对上面的示例进行了扩展。
System.Diagnostics.Process proc = new System.Diagnostics.Process();
//this should tell not to start a console
proc.StartInfo.UseShellExecute = False
//this should tell that you are redirecting process output
proc.StartInfo.RedirectStandardOutput = True
proc.StartInfo.FileName = "snmpwalk"
proc.StartInfo.Arguments = "-v 1 -c public " + Ip + " 1.3.6.1.2.1.25.1.1.0"
proc.Start()
//Then use the StandardOutput property of the process to read its output
string procOutput = proc.StandardOutput.ReadToEnd();
//Write the output to your file
System.IO.File.WriteAllText("/home/dana/Desktop/test.txt", output);
我试过将一个简单的 ping 输出重定向到一个文本文件并且成功了。