2

Unixシェルとコマンドを.Netアセンブリとして実装していますか。これは、cygwinのラッパー、またはパブリックドメインソースから構築されたスタンドアロンである可能性があります。私が本当に使用できるようにしたいコマンドの種類は、wc、tar、cpio、ps、kill、cat、at...です。

これを行うのはどれほどクールだろうか(擬似コード)

usng cygwin

....。

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

編集>シェルアウトアプローチが機能しているのを見ることができます。私は過去にそのアプローチを使用しました。ただし、それは単に醜い感じです、それは実行中の別のプロセスであり、安全ではありません、それはクライアントマシンに別のインストールを必要とします、あなたはビルドコマンド文字列をいじくり回さなければなりません。さらなる例として

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

 myShell.Stderr.NewOutput += myErrorLogger();

4

3 に答える 3

2

PowerShell を見たことがありますか? Unix コマンドを使用する多くのタスクは、PowerShell に変換できます。

于 2009-01-31T01:55:58.710 に答える
1

私は実装については知りませんが、あなたが持っているものは興味深いアイデアだと思います:) 誰かが独自のコンソールで実行でき、.NET アセンブリによって消費できる管理されたバージョンのbusyboxを開発するのは楽しいプロジェクトになるでしょう。サンプルコードのように。しかし、このようなものが本当に多くの人にとって役立つでしょうか?

于 2009-02-01T16:14:24.560 に答える
1

おそらく、次のようなことができます。

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

しかし、それをテストする環境がありません。

試してみる。

于 2009-01-31T01:58:58.173 に答える