架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 14|回复: 0

[技巧] .NET 10 在 Linux 以 Shebang 方式执行脚本

[复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式
需求:昨天看了张队在博客园发表的文章,无需创建项目 C# 单文件可以直接执行了。我们在 Linux 下执行一些任务的时候,可能需要编写 shell 脚本,对于不懂 shell 语言的人来说,写不出来或者有学习成本,如果自会 C# 语言,现在也可以通过 Shebang 格式来写一个脚本,在 Linux 服务器上面执行。

Linux Shebang

shebang(也称为 hashbang 或 pound-bang)是一个由井号(#)和感叹号(!)组成的字符序列(#!),它出现在Unix-like操作系统中的脚本文件的第一行。shebang用于指定执行该脚本的解释器。当一个脚本文件被执行时,操作系统会查找文件的第一行,如果发现shebang,它会使用指定的解释器来运行脚本。

如下列出了一些典型的shebang解释器指令:

什么是 dotnet run app.cs?

.NET 10 Preview 4 中的一项新功能,它使 C# 的入门变得前所未有的轻松。现在,您可以直接使用 运行 C# 文件dotnet run app.cs。这意味着您无需再创建项目文件或搭建整个应用程序的框架即可运行快速脚本、测试代码片段或实验某个想法。它简单、直观,旨在简化 C# 开发体验,尤其适合刚入门的开发者。之前都是通过第三方开发者来填补这项空白(例如:cs-script、dotnet-script 等)。

到目前为止,使用dotnetCLI 执行 C# 代码需要包含文件的项目结构.csproj。借助这项新功能(我们称之为基于文件的应用),您可以直接运行独立.cs文件,就像使用 Python 或 JavaScript 等脚本语言一样。

备注:基于文件的应用仍然需要 .NET SDK 才能使用,因为它们仍然使用基于 MSBuild 的常规系统构建。如果您希望使用“dotnet run app.cs”运行基于文件的应用,则必须具备 .NET SDK

在 Linux 编写 C# 脚本

本文使用 Rocky Linux 9 系统进行测试,首先下载 .NET 10 SDK preview.5 到系统,命令如下:

如下图:

QQ截图20250617085146.jpg

简单代码

编写一个 hello.cs 脚本,代码如下:

赋予执行权限,并执行,命令如下:

输出如下:

QQ截图20250617085457.jpg

依赖 nuget 包代码

往往逻辑比较复杂,可能需要引入第三方 nuget 包,调用里面的函数才能完整我们的需求,可以使用 #:package 指令来引入 nuget 包,以 Newtonsoft.Json 为例,代码如下:

输出如下:

QQ截图20250617091135.jpg

参考:

超链接登录可见。
超链接登录可见。




上一篇:.NET/C# 使用 ClosedXML 将 Excel 读取到 DataTable 中
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-17 13:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表