dotnetcore执行shell脚本
程序员文章站
2022-04-14 19:58:30
我们可以使有dotnetcore跨平台的特性,优雅的实现在dotnetcore执行shell (bash). 代码如下:using System;using System.Collections.Generic;using System.Text;namespace hshoc{ using Sys... ......
我们可以使有dotnetcore跨平台的特性,优雅的实现在dotnetcore执行shell (bash). 代码如下:
using system; using system.collections.generic; using system.text; namespace hshoc { using system.diagnostics; public static class shellhelper { public static string bash(this string cmd) { var escapedargs = cmd.replace("\"", "\\\""); var process = new process() { startinfo = new processstartinfo { filename = "/bin/bash", arguments = $"-c \"{escapedargs}\"", redirectstandardoutput = true, useshellexecute = false, createnowindow = true, } }; process.start(); string result = process.standardoutput.readtoend(); process.waitforexit(); return result; } } }
为什么使用dotnetcore, 其性能比java更好,使用c#的扩展方法, 具体调用上面的代码是
var output = "ps aux".bash();
是不是比较方便。大家可以延伸自动的应用。我们编写更复杂的shell脚本在其中,充分利用c#的特性,快速开发,易于调试。
这也是其中devops过程中很小一个点儿。
今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
微服务与docker介绍
docker与ci持续集成/cd
精益it组织与分享式领导
it基础架构规划方案一(网络系统规划)
供应链需求调研checklist
如有想了解更多软件设计与架构, 系统it,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:petter liu
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-petter liu blog。