Some checks failed
default / dotnet-default-workflow (push) Failing after 54s
49 lines
No EOL
1.3 KiB
Markdown
49 lines
No EOL
1.3 KiB
Markdown
# `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 `Command` object 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
|
|
|
|
```xml
|
|
|
|
<packageSources>
|
|
<add key="geekeey" value="https://code.geekeey.de/api/packages/geekeey/nuget/index.json" />
|
|
</packageSources>
|
|
```
|
|
|
|
### Usage
|
|
|
|
```csharp
|
|
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;
|
|
}
|
|
```
|
|
|
|
```csharp
|
|
public static Task<int> Main()
|
|
{
|
|
var cmd = new Command("cat").WithArguments(["file.txt"]) | new Command("wc");
|
|
await cmd.ExecuteAsync();
|
|
Console.WriteLine(stdout.ToString());
|
|
}
|
|
``` |