Pular para o conteúdo
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:

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.

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:

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.

cargo install -f dune

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

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:

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.

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:

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

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

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:

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:

chmod +x nome_do_arquivo

Agora, você pode executá-lo por:

./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:

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.

./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.

Por · Última atualização: