1.3 KiB
1.3 KiB
Geekeey.Extensions.Process
Process is a .NET library for interacting with external command-line interfaces. It provides a convenient model for launching processes, redirecting input and output streams, awaiting completion, handling cancellation, and more.
Features
- Input and Output redirection: flexible piping model, that allows to redirect the process's streams.
- Immutability: The
Commandobject is immutable, ensuring thread safely and allowing sharing of a base configuration.
Getting Started
Install the NuGet package:
dotnet add package Geekeey.Extensions.Process
You may need to add our NuGet Feed to your nuget.config this can be done by adding the following lines
<packageSources>
<add key="geekeey" value="https://code.geekeey.de/api/packages/geekeey/nuget/index.json" />
</packageSources>
Usage
public static Task<int> Main()
{
var stdout = new StringBuilder();
var cmd = new Command("git").WithArguments(["config", "--get", "user.name"]) | stdout;
await cmd.ExecuteAsync();
Console.WriteLine(stdout.ToString());
return 0;
}
public static Task<int> Main()
{
var cmd = new Command("cat").WithArguments(["file.txt"]) | new Command("wc");
await cmd.ExecuteAsync();
Console.WriteLine(stdout.ToString());
}