Além do Bash: 9 shells Linux menos conhecidos e suas capacidades

Além do Bash: 9 shells Linux menos conhecidos e suas capacidades

Você provavelmente já sabe sobre os shells populares como bash e zsh. Vamos explorar alguns outros shells interessantes e únicos.

Um Shell fornece uma interface para sistemas Linux e Unix-like interpretando comandos e atua como um intermediário entre o usuário e o funcionamento central do sistema operacional.

Sem dúvida, o shell bash é o mais popular, e alguns usuários preferem outros shells como o ZSH, que é o shell padrão no macOS. Mas existem muitos shells além desses populares, com diferentes recursos e casos de uso.

Neste artigo, vamos dar uma olhada em alguns shells menos populares que são mantidos ativamente e fornecem uma experiência de usuário diferente.

1. Fish

Quando se fala de shells que não sejam bash/zsh, o primeiro nome que vem à nossa mente é o Fish.

O Fish é um shell de linha de comando inteligente e fácil de usar **principalmente para sistemas operacionais semelhantes ao UNIX.

fish

Características do Fish

  • Autossugestão de comandos com base no histórico e conclusões.
  • Suporta cor de 24 bits.
  • Ele suporta realce de sintaxe, e todos os recursos funcionam fora da caixa.

Instalando o Fish

O Fish está disponível nos repositórios oficiais de quase todas as distribuições Linux. No Ubuntu, você pode instalá-lo por:

Comandos para usar no terminal

sudo apt install fish

A versão nos repositórios do Ubuntu é um pouco antiga. Se você quiser instalar a versão mais recente, você pode usar o PPA oficial fornecido pela equipe.

Comandos para usar no terminal

sudo apt-add-repository ppa:fish-shell/release-3 sudo apt update sudo apt install fish

Fish

2. Nushell

Nushell é um novo tipo de shell que funciona em Linux, macOS, Windows, BSD, etc. Nu, como também é chamado, leva sua filosofia e inspiração de projetos como PowerShell, linguagens de programação funcionais e ferramentas modernas de linha de comando.

Características do Nushell:

  • Tudo são dados: Os pipelines Nu usam dados estruturados para que você possa selecionar, filtrar e classificar sempre da mesma maneira com segurança.
  • Plugins poderosos: É fácil estender o Nu usando um poderoso sistema de plugins.
  • Mensagens de erro fáceis de ler. Nu opera em dados digitados, por isso ele captura bugs que outros shells não fazem. E quando as coisas quebram, Nu diz exatamente onde e por quê.
  • Suporte IDE limpo.

Instalando o Nushell

Se você estiver no Ubuntu, você não encontrará um repositório apt para instalar o Nushell. Mas você pode criá-lo instalando as dependências necessárias, de acordo com suas instruções no GitHub.

Felizmente, existe uma maneira de instalá-lo em qualquer distribuição usando Homebrew. Você pode consultar nosso tutorial sobre instalação e uso do Homebrew Package Manager no Linux.

Depois de configurá-lo com sucesso no Linux, você precisa digitar o seguinte comando para instalar o Nushell:

Comandos para usar no terminal

brew install nushell

Dirija-se ao seu site oficial para explorar mais opções de instalação.

Nushell

3. Dune

O criador do projeto descreve Dune como um shell à beira da praia. Dune é rápido, útil e bonito, oferecendo alguns recursos de metaprogramação de nicho, como citação.

dune

  • Antes de entrar no modo interativo, Dune executa o prelúdio, um arquivo de inicialização armazenado no diretório home.
  • O REPL da Duna é totalmente personalizável
  • Você pode definir aliases atribuindo uma variável ao nome de um programa
  • Use uma macro para escrever funções que modificam o ambiente do seu shell e agem como comandos ou programas
  • Dune oferece uma extensa biblioteca padrão e também fornece uma interface bonita para ver todas as funções disponíveis em cada módulo.

Instalando o Dune Shell

Dune shell está disponível no repositório Arch Linux como dunesh.

Para todos os outros usuários, o shell Dune pode ser instalado com cargo. Então, primeiro, você precisa instalar a versão mais recente do Rust. Se você já tiver o Rust instalado, certifique-se de ter a versão mais recente e, em seguida, prossiga para instalar o Dune.

Comandos para usar no terminal

cargo install -f dune

Uma vez instalado, você pode acessar o shell digitando o seguinte:

Comandos para usar no terminal

dunesh

Dune Shell

4. Xonsh

O Xonsh é um shell multiplataforma e um prompt de comando com tecnologia Python. Ele combina Python e bash shell para que você possa executar comandos Python diretamente no shell. Você pode até combinar comandos Python e shell.

Xonsh Shell

Tivemos um artigo separado sobre Xonsh se você está curioso para saber mais.

  • A linguagem Xonsh tem primitivas de shell que você está acostumado a partir de Bash
  • Preparar variáveis de ambiente e argumentos em Python e usá-los em comandos shell
  • Xontribs é um sistema de extensão terceiro
  • Conclusão de guia personalizável, ligações de teclas, estilos de cores
  • Interface rica para descobrir a história

Instalando o Xonsh Shell

Xonsh está disponível nos repositórios de muitas distribuições Linux como Ubuntu, Fedora, etc. Então, para instalá-lo no Ubuntu, execute:

Comandos para usar no terminal

sudo apt install xonsh

Xonsh também fornece um pacote AppImage, que pode ser baixado de sua página de download. Você pode consultar nosso Guia AppImage se você é novo no formato de arquivo.

Xonsh

5. Hilbish

Hilbish é um shell extensível que é muito personalizável através da linguagem de programação Lua. O shell é destinado a usuários casuais e usuários avançados.

hilbish

  • Script simples e fácil
  • Histórico e Menus de Conclusão: Fornece ao usuário menus adequados para conclusão e pesquisa de histórico
  • O realce de sintaxe e as dicas estão disponíveis através da API Lua
  • Ele funciona em sistemas Unix e Windows, mas no Windows, pode haver problemas.

Instalando o Hilbish

Hilbish não está disponível nos repositórios de pacotes do Ubuntu. Então, você estará construindo-o a partir da fonte.

Para instalá-lo, você precisaGo e Task instalado.

Comandos para usar no terminal

sudo apt install golang-go sudo snap install task --classic

Uma vez instaladas as dependências, execute os seguintes comandos para instalar o shell Hilbish:

Comandos para usar no terminal

git clone --recursive https://github.com/Rosettea/Hilbish cd Hilbish go get -d ./...

Se você quiser uma ramificação estável, execute estes comandos:

Comandos para usar no terminal

git checkout $(git describe --tags git rev-list --tags --max-count=1) task build sudo task install

Hilbish

6. Elvish

Elvish é uma linguagem de programação expressiva e um shell interativo versátil. Ele roda em Linux, Mac e Windows. Mesmo que a v1.0 não tenha sido lançada, ele já é adequado para a maioria dos usos interativos diários.

elvish

  • Pipelines poderosos: Pipelines em Elvish podem transportar dados estruturados, não apenas texto. Você pode transmitir listas, mapas e até mesmo funções através do pipeline.
  • Estruturas de controle intuitivas
  • Directory History: Elvish se lembra de todos os diretórios que você esteve. Você pode acessá-lo pressionando CTRL + L.
  • Histórico de comandos
  • Gerenciador de arquivos embutido: Acessível pressionando CTRL + N

Instalando o Elvish

Elvish shell está disponível no Ubuntu e Arch Linux e seus gerenciadores de pacotes. Então, para instalá-lo, abra um terminal e execute:

Comandos para usar no terminal

sudo apt install elvish

Elvish

7. Oh

De acordo com seus desenvolvedores, Oh é uma reimaginação do shell Unix.

Ele pretende se tornar um substituto mais poderoso e robusto para as opções modernas, respeitando as convenções estabelecidas pelo shell Unix ao longo do último meio século.

oh

  • Canais, tubos, ambientes e funções de primeira classe
  • Valores de retorno avançados que funcionam com construções de shell padrão
  • Suporte para modularidade.
  • Um conjunto simplificado of regras de avaliação e cotação.
  • Uma sintaxe que se desvia o mínimo possível das convenções estabelecidas;

Instalando o Oh

Oh fornece um binário pré-compilado. Você precisa baixá-lo de sua página oficial do GitHub.

Você precisa dar permissão de execução ao arquivo usando o comando:

Comandos para usar no terminal

chmod +x nome_do_arquivo

Agora, você pode executá-lo por:

Comandos para usar no terminal

./nome_do_arquivo_binario

Oh

8. Solidity

O Solidity é um shell interativo com gravação de sessão leve e suporte a compilador remoto. Quando você altera o pragma/linguagem do Solidity, ele busca automaticamente um compilador remoto correspondente.

Solidity

  • pragma solidity <versão> tenta carregar dinamicamente a versão do compilador selecionada
  • As sessões podem ser salvas e restauradas usando o comando .session.
  • As configurações são salvas na saída (não é seguro ao executar shells simultâneos).
  • $_ é um espaço reservado para o último resultado conhecido.
  • Comandos especiais são prefixados por pontos. Todo o resto é avaliado como código Solidity.

Instalando o Solidity

Você pode instalar o shell Solidity através do npm.

Verifique se você tem a versão mais recente do nodejs e npm instalado e, em seguida, digite o seguinte comando:

Comandos para usar no terminal

npm install -g solidity-shell

Uma vez instalado, execute solidity-shellpara iniciar a sessão.

Solidity

9. Yash

Yash, ou ainda outro shell é um shell de linha de comando compatível com POSIX escrito em C99 (ISO/IEC 9899:1999). Ele possui recursos para uso interativo e de script diário.

Yash Shell

  • Alises globais
  • Redirecionamento de soquete, redirecionamento de tubulação e redirecionamento de processo
  • Comando de prompt e manipulador de comando-não-encontrado
  • Conclusão da linha de comando com scripts de conclusão predefinidos para mais de 100 comandos
  • Previsão de linha de comando com base no histórico de comandos

Instalando o Yash Shell

Para instalar o shell, você precisa ir para a página versões do GitHub e baixar o arquivo tar. Agora extraia o arquivo tar; dentro dele, você encontrará um arquivo INSTALL com instruções para instalá-lo.

Normalmente, você deve executar o comando abaixo dentro da pasta extraída.

Comandos para usar no terminal

./configure && make && sudo make install

Yash

Menções Honrosas

1.Ion: Ion Shell é um shell de sistema moderno escrito em Rust, principalmente para RedoxOS. Ainda é um trabalho em andamento, e os usuários devem esperar alterações de sintaxe.

  1. Closh: Closh é um shell semelhante a bash que combina o melhor dos shells UNIX tradicionais com o poder de Clojure. O objetivo é ser uma alternativa moderna ao bash. Isso também está nos estágios iniciais de desenvolvimento.

O que você acha dessas conchas listadas? Você experimentaria alterando o shell padrão para algumas das opções aqui? Qual é o seu favorito? Compartilhe seus pensamentos na caixa de comentários abaixo.

Última atualização deste artigo: 18 de january de 2023