C#からBashや他のLinuxスクリプトを実行するには、以下の手順を実行することができます。
-
System.Diagnostics.Processクラスを使用して、外部プロセスを起動します。このクラスを使用すると、C#コード内から外部プログラムを実行することができます。
-
Process.Startメソッドを使用して、Bashスクリプトまたは他のLinuxスクリプトを実行します。このメソッドには、スクリプトのパスと必要な引数を指定することができます。
以下は、Bashスクリプトを実行するための簡単なコード例です。
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
string scriptPath = "/path/to/script.sh";
string arguments = "arg1 arg2 arg3";
Process process = new Process();
process.StartInfo.FileName = "bash";
process.StartInfo.Arguments = $"-c \"{scriptPath} {arguments}\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);
}
}
上記の例では、scriptPath
には実行したいBashスクリプトのパスを指定し、arguments
にはスクリプトに渡す引数を指定します。Process.StartInfo.FileName
にはbash
を指定し、Process.StartInfo.Arguments
にはスクリプトのパスと引数を指定します。
process.StandardOutput.ReadToEnd()
を使用して、スクリプトの出力を取得できます。出力は文字列として取得され、必要に応じて処理することができます。
この方法を使用すると、C#からBashや他のLinuxスクリプトを実行し、その出力を取得することができます。必要に応じてエラーハンドリングも追加することができます。
以上の手順とコード例を使用して、C#からBashや他のLinuxスクリプトを実行する方法を理解していただければと思います。