创建一个项目
dotnet new console --name InstallCommand
进入项目目录
cd InstallCommand
安装两个可能会用得到的包
第一个包可以帮助我们解析 −−key value 的参数
第二个包可以代我们执行 linux 的各项命令
dotnet add package FluentArgs dotnet add package CliWrap
以下代码会检测文件 /usr/bin/curl 是否存在,如果不存在,则调用 apt-get 安装 curl,并将 apt-get 的输出打印
namespace InstallCommand { using System; using System.IO; using CliWrap; using System.Diagnostics; using System.Threading.Tasks; using CliWrap.Buffered; using FluentArgs; public static class Program { public static async Task<string> InstallPackage(string name) { var result = await Cli.Wrap("/usr/bin/apt-get") .WithArguments($"install -y {name}") .WithWorkingDirectory("/root") .ExecuteBufferedAsync(); return result.StandardOutput; } public static void Main(string[] args) { if (!File.Exists("//usr//bin//curl")) { Console.WriteLine("curl doesn't exist."); Task<string> str = InstallPackage("curl"); str.Wait(); Console.WriteLine($"print content:{str.Result}"); } else { Console.WriteLine("curl exist."); } } } }
发表回复