Apresentada uma nova shell chamada nushell

Publicado primeira versão do shell de comando nushell, combinando as funcionalidades do Power Shell e dos shells unix clássicos. O código é escrito na linguagem Rust e é distribuído sob licença MIT. O projeto foi inicialmente desenvolvido como multiplataforma e suporta funcionamento no Windows, macOS e Linux. Para expandir a funcionalidade, podem ser utilizados plugins, com os quais se interage através do protocolo JSON-RPC.

No shell, é utilizada uma sistema de pipelines familiar para usuários Unix no formato "comando|filtros|manipulador de saída". Por padrão, a saída é formatada utilizando o comando autoview, que utiliza um formato tabular, mas também é possível aplicar comandos para exibir dados binários e informações em formato de árvore. Uma das grandes vantagens do nushell é a capacidade de manipular dados estruturados.

O shell permite estruturar a saída de vários comandos e o conteúdo de arquivos, e aplicar filtros arbitrários, que são organizados utilizando uma sintaxe unificada, sem necessidade de aprender as opções de linha de comando de cada comando específico. Por exemplo, o nushell permite usar construições como "ls | where size > 10kb" e "ps | where cpu > 10", que resultarão na exibição de apenas arquivos com tamanho superior a 10Kb e processos que consumiram mais de 10 segundos de recursos de CPU:

Apresentada uma nova shell chamada nushell

Apresentada uma nova shell chamada nushell

Para estruturar os dados, é utilizada uma série de extensões que analisam a saída de comandos específicos e tipos de arquivos. Extensões semelhantes são oferecidas para comandos como cd, ls, ps, cp, mkdir, mv, date, rm (para chamar comandos nativos pode-se usar o prefixo "^", por exemplo, a chamada "^ls" resultará na execução da ferramenta de sistema ls). Existem também comandos especializados, como open para exibir informações sobre um arquivo selecionado de forma tabular. Para os formatos JSON, TOML e YAML, suporta-se a análise automática.

/home/jonathan/Source/nushell(master)> open Cargo.toml

——————+——————+——————
dependências | dev-dependências | pacote
——————+——————+——————
[object Object] | [object Object] | [object Object]
——————+——————+——————

/home/jonathan/Source/nushell(master)> open Cargo.toml | get package

————-+—————————-+———+———+——+———
autores | descrição | edição | licença | nome | versão
————-+—————————-+———+———+——+———
[list List] | Um shell para a era do GitHub | 2018 | MIT | nu | 0.2.0
————-+—————————-+———+———+——+———

/home/jonathan/Source/nushell(master)> open Cargo.toml | get package.version | echo $it

0.2.0

Um grande conjunto de instruções é fornecido para a filtragem de dados estruturados, permitindo descartar linhas, classificar por colunas, somar dados, realizar cálculos simples, usar contadores de valores e converter a saída para formatos CSV, JSON, TOML e YAML. Instruções para dados não estruturados (texto) são oferecidas para dividir em colunas e linhas com base em caracteres delimitadores.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster