使用C#像google/zx一样编写脚本
生活随笔
收集整理的這篇文章主要介紹了
使用C#像google/zx一样编写脚本
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
google/zx
zx是谷歌開(kāi)源的一個(gè)能夠幫助開(kāi)發(fā)者快速編寫腳本的工具,它使用JavaScript作為編程語(yǔ)言。
示例腳本如下:
#!/usr/bin/env?zxawait?$`cat?package.json?|?grep?name`let?branch?=?await?$`git?branch?--show-current` await?$`dep?deploy?--branch=${branch}`await?Promise.all([$`sleep?1;?echo?1`,$`sleep?2;?echo?2`,$`sleep?3;?echo?3`, ])let?name?=?'foo?bar' await?$`mkdir?/tmp/${name}`將代碼保存為mjs文件,使用zx即可執(zhí)行腳本:
zx?./script.mjsdotnet-script
dotnet-script是一個(gè)開(kāi)源的.net core global tool, 使用它,開(kāi)發(fā)人員可以獲得在命令行直接運(yùn)行C#腳本文件的能力。
使用下列命令安裝dotnet-script:
dotnet?tool?install?-g?dotnet-script新建一個(gè)csx文件,文件內(nèi)容如下:
Console.WriteLine("My?IO");然后,使用下列命令運(yùn)行腳本:
dotnet-script?./test.csxProcessX
上面這種方式寫的還是C#程序而不是腳本。
不過(guò),利用Nuget包ProcessX,提供了執(zhí)行腳本的靜態(tài)方法:
#r?"nuget:?ProcessX,?1.5.0"using?Zx; using?static?Zx.Env;//?直接執(zhí)行命令 await?"echo?My?IO";//?轉(zhuǎn)義后執(zhí)行 var?str?=?"My?IO"; await?process($"echo?{str}");//?帶顏色輸出文本 log("My?IO",?ConsoleColor.Red);結(jié)論
使用dotnet-script+ProcessX,我們也可以寫出類似google/zx的腳本了。
如果你覺(jué)得這篇文章對(duì)你有所啟發(fā),請(qǐng)關(guān)注我的個(gè)人公眾號(hào)”My IO“
總結(jié)
以上是生活随笔為你收集整理的使用C#像google/zx一样编写脚本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# 修改配置文件进行窗体logo切换
- 下一篇: 如何把 .NET 进程中的所有托管异常找