从C#进程传递参数到shell脚本

时间:2011-06-13 10:47:34

标签: c# linux process plink

我很多天都遇到了问题。

我正在连接到一个linux盒子,想要运行一些脚本并收回生成的文件。

步骤是 1)连接 2)运行一些脚本(这些脚本是交互式的,需要在某些时候输入) 3)获取生成的文件。

1)我通过plink.exe(putty.exe的命令行版本)连接到linux box这一步是成功的。

2)我能够运行脚本但是当脚本运行时它需要一些输入,我无法弄清楚如何将这些输入传递给脚本。当脚本没有完成时,程序会挂起。

这些输入是固定的,并且在某些值之间变化,我可以将这些值硬编码到应用程序/程序中。

请帮我这样做。 提前致谢 -Akash

1 个答案:

答案 0 :(得分:1)

您可以使用此代码

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "YourFile.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "";//Arguments should be here
using (Process exeProcess = Process.Start(startInfo))
{
    exeProcess.WaitForExit();
}

你可以使用 exeProcess.StandardOutput.ReadToEnd(); 来获得结果