Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 1073|Resposta: 0

[Gorjetas] .NET 10 executa scripts de forma Shebang no Linux

[Copiar link]
Postado em 2025-6-17 09:15:21 | | | |
Requisitos: Ontem, li um artigo publicado pela Equipe Zhang no jardim do blog, e não preciso criar um arquivo único em C# de projeto que possa ser executado diretamente. Quando realizamos algumas tarefas sob Linux, talvez precisemos escrever scripts shell; para pessoas que não entendem linguagem shell, é impossível escrever ou ter custos de aprendizado; se você conhece a linguagem C#, agora pode escrever um script no formato Shebang e executá-lo no servidor Linux.

Linux Shebang

Um shebang (também conhecido como hashbang ou pound-bang) é uma sequência de caracteres (#!) composta por um hash (#) e um ponto de exclamação (!) que aparece na primeira linha de um arquivo de script em um sistema operacional semelhante ao Unix. Shebang é usado para especificar o intérprete que executa o script. Quando um arquivo de script é executado, o sistema operacional procura a primeira linha do arquivo e, se encontrar um shebang, usa o interpretador especificado para executar o script.

Algumas instruções típicas de interpretadores shebang estão listadas abaixo:

O que é dotnet run app.cs?

Um novo recurso no .NET 10 Preview 4 que torna começar com C# mais fácil do que nunca. Agora você pode rodar arquivos C# diretamente usando dotnet run app.cs. Isso significa que você não precisa criar arquivos de projeto ou construir um framework para toda a sua aplicação rodar scripts rápidos, testar trechos de código ou experimentar uma ideia. É simples, intuitivo e projetado para simplificar a experiência de desenvolvimento em C#, especialmente para desenvolvedores que estão começando. Anteriormente, essa lacuna era preenchida por desenvolvedores terceiros (por exemplo, cs-script, dotnet-script, etc.).

Até agora, executar código C# com dotnetCLI exigia uma estrutura de projeto que contivesse o arquivo .csproj. Com esse novo recurso (chamamos de aplicativo baseado em arquivos), você pode rodar arquivos independentes diretamente .cs como faria com uma linguagem de script como Python ou JavaScript.

Comentário:Aplicativos baseados em arquivos ainda exigem o SDK .NET para serem usadosPorque ainda são construídos usando um sistema baseado em MSBuild regular. Se você deseja rodar uma aplicação baseada em arquivos usando "dotnet run app.cs", entãoO SDK .NET é obrigatório

Escreva scripts C# no Linux

Este artigo usa um sistema Rocky Linux 9 para testar, primeiro baixe o .NET 10 SDK preview.5 para o sistema com o seguinte comando:

Como mostrado abaixo:



Código simples

Escreva um script hello.cs com o seguinte código:

Conceda permissões de execução e execute o comando da seguinte forma:

A saída é a seguinte:



Depende do código do pacote Nuget

Frequentemente, a lógica é mais complexa, talvez precisemos introduzir um pacote nuget de terceiros, chamar as funções nele para atender nossas necessidades, você pode usar o comando #:p ackage para introduzir o pacote nuget, paraNewtonsoft.JsonPor exemplo, o código é o seguinte:

A saída é a seguinte:



Referência:

O login do hiperlink está visível.
O login do hiperlink está visível.




Anterior:.NET/C# usa ClosedXML para ler Excel em um DataTable
Próximo:[Tradução]. Por que MySqlConnector e MySql.Data em NET/C# prevalecem sobre o primeiro
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com