DotCon 8.2.1
dotnet add package DotCon --version 8.2.1
NuGet\Install-Package DotCon -Version 8.2.1
<PackageReference Include="DotCon" Version="8.2.1" />
paket add DotCon --version 8.2.1
#r "nuget: DotCon, 8.2.1"
// Install DotCon as a Cake Addin #addin nuget:?package=DotCon&version=8.2.1 // Install DotCon as a Cake Tool #tool nuget:?package=DotCon&version=8.2.1
DotCon
DotCon is a lightweight library that provides a simple and consistent interface for executing shell commands in various terminal environments. It follows the Factory Method design pattern to create terminal instances based on different shells (Bash, Cmd, PowerShell, Zsh).
Table of Contents
Features
- Execute shell commands synchronously and asynchronously.
- Capture the output of executed commands.
- Run script actions by parsing and executing corresponding shell commands.
- Configure terminal options such as redirecting standard output, using shell execution, and creating no window.
Getting Started
Prerequisites
- .NET 7.0 SDK or later
Installation
You can add the DotCon library to your .NET project using the following methods:
Package Manager Console
dotnet add package DotCon --version 8.2.0
Or download/ clone the project and run the RunDocker.sh file, which will start up a conatiner with the classlib added to a console application.
Usage
Creating a Terminal Instance
To create a terminal instance, you can use one of the following methods:
- Create a terminal instance using one of the available shell options.
- Execute shell commands or run script actions using the terminal instance.
Terminal.UseBashShell();
Terminal.UseCmdShell();
Terminal.UsePowershellShell();
Terminal.UseZshShell();
Or
Terminal.UseBashShell(options =>
{
// Configure terminal options
});
Run terminal commands or store script to be run at a later time with the Execute methods.
string output = terminal.Run("ls -la");
string output = await terminal.RunAsync("ls -la");
string output = terminal.ExecuteScript("myScript");
string output = await terminal.ExecuteScriptAsync("myScript");
Try to run commands in the terminal with a similer syntax to the TryParse
Terminal terminal = Terminal.UseBashShell();
string output;
bool success = terminal.TryRun("ls -la", out output);
if (success)
{
// Handle successful
}
else
{
// Handle execution error
Console.WriteLine($"Error: {output}");
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.