私はLinux用のコマンドでスターキャラクターに少し問題があります。ディストリビューションを探す必要があります。私はこのキャラクターの代わりに'fedora'なら、このコマンドは良い結果を出します。この場合は、次のように記述します。/ bin/cat:/ etc/* - release:ディレクトリまたはファイルが存在しません。Process.StartInfoに '*'文字が含まれている - Linuxのディストリビューションを見つける
私のコードは次のとおりです。あなたの答えを事前に
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "cat";
p.StartInfo.Arguments = "/etc/*-release";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
感謝。 マテイ
ありがとうございます。どのように私はこのようなコマンドを実行することができますいくつかのアイデアを持っている: 'iptables -L | grep Protect_blacklist | wc -l'?私は 'p.StartInfo.FileName =" iptables "を試した。 p.StartInfo.Arguments = "-L | grep Protect_blacklist | wc -l"; 'しかし、成功しません。前もって感謝します。 – matej148
これらの '|'はコマンドの引数ではありません。それらはシェルメタキャラクターです。あなたのコマンドで 'sh -c" iptables -L | grep Protect_blacklist | wc -l "'を使うことができるかもしれませんが、 'iptables -L'だけを実行してからフィルタリングと行あなたのプログラミング言語に内部的に数えられます。 (どちらの方法でも問題ありません) – sarnold