2

是否有作为 .Net 程序集的 Unix shell 和命令的实现。这可以是 cygwin 的包装器,也可以是从公共域源构建的独立程序。我真正希望能够使用的命令类型是 wc、tar、cpio、ps、kill、cat、at ...

这样做有多酷(伪代码)

使用cygwin

......

 Shell myShell = new Shell("cat file1 file2 >> file3");
 myShell.Run(DateTime.Now);

编辑 > 我可以看到 shell out 方法有效,我过去自己也使用过这种方法。然而,它只是感觉很难看,它是另一个正在运行的进程,它不安全,它需要在客户端机器上再次安装,你必须在构建命令字符串周围搞砸。作为另一个例子

 Shell myShell = new Shell();
 myShell.Infiles.Add (streamObject);
 myShell.Outfiles.Add (streamObject);

 myShell.Stderr.NewOutput += myErrorLogger();

ETC

4

3 回答 3

2

你看过 PowerShell 吗?许多使用 Unix 命令的任务都可以转换为 PowerShell

于 2009-01-31T01:55:58.710 回答
1

可能会像下面这样。

Shell myShell = new Shell("c:\cygwin\bin\bash cat file1 file2 >> file3");  
myShell.Run(DateTime.Now);

但是,我没有测试它的环境。

试试看。

于 2009-01-31T01:58:58.173 回答
1

我不知道任何实现,但我认为您拥有的是一个有趣的想法:) 对于开发可以在自己的控制台中运行并可由 .NET 程序集使用的busybox的托管版本的人来说,这将是一个有趣的项目就像在您的示例代码中一样。但是这样的东西真的对很多人有用吗?

于 2009-02-01T16:14:24.560 回答