起因
使用VuePress
发布新文章每次都需重新手动改打包项目,有没有自动化打包的方式呢?
Process类
Process提供对本地和远程进程的访问权限,利用它我们可以执行系统文件。官方文档:传送门
实践
要执行的脚本内容如下:
cd /home/coco/桌面/Project/Vue/demo/demo/;
#需要管理员权限
yarn build;
编写dotnet代码
using (var process = new Process())
{
//要执行的文件,bash因为环境变量的原因不用写绝对路径
process.StartInfo.FileName = "bash";
//参数
process.StartInfo.Arguments = "vue-build.sh";
//不使用系统自带的Shell
process.StartInfo.UseShellExecute = false;
//重定向执行进程的标准输入流,由程序实现自动输入
//process.StartInfo.RedirectStandardInput = true;
//重定向执行程序的标准输出流
process.StartInfo.RedirectStandardOutput = true;
//执行脚本文件
process.Start();
//读取执行结果进行判断
if (process.StandardOutput.ReadToEnd().Contains("Done in "))
{
Console.WriteLine("vue项目打包成功");
}
//等待脚本执行结束
process.WaitForExit();
}
打开方式
编译该项目,***使用管理员方式***运行打包好的二进制文件
需要使用管理员权限运行,避免脚本因权限问题运行失败