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. O fish é considerado um shell "exótico" já que não adere aos padrões de shell POSIX, por critério de seus mantenedores.

Recursos 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 + 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.

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.Linux.com. CLI Magic: Aprimorando o shell com fish. Recuperado em 24/03/2010.

Variáveis Universais 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 Preenchimento avançado de tabulação (com suporte para escrever preenchimentos personalizados). Destaque de sintaxe com verificação de erros extensiva. Suporte para a área de transferência do X Window System. Manipulação inteligente de terminal com base na biblioteca e banco de dados terminfo. Histórico de comandos pesquisável. Configuração baseada na Web (fish_config).

Categoria:Software livre programado em C Categoria:Linguagens de script Categoria:Linguagens de programação Categoria:Linguagens interpretadas Categoria:Unix shells