创建一个项目
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.");
}
}
}
}
发表回复