Fish (Shell do Unix)

Fish (ou friendly interactive shell - estilizado em letras minúsculas) é um shell semelhante ao Unix com foco em interatividade e usabilidade. O fish foi projetado para ser rico em recursos por padrão, em vez de altamente configurável.[4] O fish é considerado um shell "exótico" já que não adere aos padrões de shell POSIX, por critério de seus mantenedores.[5]

Fish
Logótipo
Fish (Shell do Unix)
Captura de tela
Fish (Shell do Unix)
Autor Axel Liljencrantz
Desenvolvedor desenvolvedores fish-shell[1]
Lançamento 13 fevereiro 2005; há 19 anos
Versão estável 3.7.1 (19 março 2024; há 10 meses)
Escrito em Rust[2]
Sistema operacional Unix-like
Gênero(s) shell Unix
Licença GPL-2.0[3]
Página oficial fishshell.com
Repositório github.com/fish-shell/fish-shell

Recursos

editar

O fish exibe sugestões incrementais conforme o usuário digita, com base no histórico de comandos e no diretório atual. Isso funciona de forma semelhante à pesquisa de histórico Ctrl + R do Bash, mas está sempre ligado, dando ao usuário um feedback contínuo enquanto digita comandos. O Fish também inclui complementação de tabulação rico em recursos, com suporte para expansão de caminhos de arquivo (com curingas e expansão de chaves), variáveis ​​de ambiente e complementações específicas de comando. Completamentos específicos de comando, incluindo opções com descrições, podem ser gerados até certo ponto a partir das páginas de manual dos comandos, mas completamentos personalizados também podem ser incluídos com software ou escritos por usuários do shell.[6]

O criador do Fish preferiu adicionar novos recursos como comandos em vez de sintaxe. Isso tornou os recursos mais "descobríveis", pois os recursos integrados permitem a busca de comandos com opções e textos de ajuda. Funções também podem incluir descrições legíveis por humanos. Um comando especial help dá acesso a toda a documentação do fish no navegador da web do usuário.[7]

Variáveis Universais

editar

O Fish tem um recurso conhecido como variáveis ​​universais, que permite que um usuário atribua permanentemente um valor a uma variável em todos os shells fish em execução pelo usuário. O valor da variável é lembrado em logouts e reinicializações, e as atualizações são imediatamente propagadas para todos os shells em execução.

# Isso fará do emacs o editor de texto padrão. O '--universal' (ou '-U')
# diz ao fish para fazer disso uma variável universal.
> set --universal EDITOR emacs

# Este comando fará com que a parte atual do diretório de trabalho do
# prompt do fish fique azul em todas as instâncias do fish em execução.
> set --universal fish_color_cwd blue

Outros recursos

editar

Referências

  1. «fish shell team members». GitHub.com. Consultado em 28 de julho de 2021 
  2. «fish-shell 4.0b1, now in Rust». fishshell.com. Consultado em 18 de dezembro de 2024 
  3. fishshell.com - Licença fish
  4. Liljencrantz, Axel (17 de maio de 2005). «Fish - Um shell amigável». Linux Weekly News. Consultado em 24 de março de 2010 
  5. «Documentos do Fish: design». Consultado em 9 de abril de 2021 
  6. «Escrevendo seus próprios completamentos». fish shell. Cópia arquivada em 31 de agosto de 2024 
  7. Linux.com. CLI Magic: Aprimorando o shell com fish. Recuperado em 24/03/2010.