Fish - Um shell fácil de usar
Este artigo mostra a instalação e uso do Shell Fish (Friendly Interactive Shell). É uma alternativa configurável e fácil de usar, ao mais conhecido Bash (Bourne-Again Shell), comumente encontrado como padrão nas distribuições GNU/Linux.
Introdução
História
Achei interessante no início deste artigo, introduzir uma breve história resumida dos interpretadores de comandos (shells).O primeiro shell para Unix de que se tem notícia, é de 1971, e foi desenvolvido pelo americano Ken Thompson, por isso se chama Thompson Shell ("tsh").
Entre 1977 e 1979, outro programador americano, Stephen Bourne (dos laboratórios Bell), modificou (usando Linguagem C) o tsh, para que pudesse ser usado em programação (Shell Scripts). Para isso, usou conceitos de uma antiga linguagem de programação chamada ALGOL (onde foi lançado o conceito de algoritmo).
Seu shell ficou famoso, foi chamado bsh, mas hoje, é simplesmente conhecido como sh e ainda é usado. É o shell padrão do Unix e dos sistemas BSD.
Aqui cabe uma observação: se você olhar em GNU/Linux muito antigos (1992-1995), encontrará alguns que ainda usam sh (e não bash). Depois, convencionou-se usar bash, mas que continuou a ser chamado "sh" por algum tempo. Então, em GNU/Linux antigos, a expressão "sh" é bash, enquanto que em Unix "sh" é sh, mesmo, Bourne Shell.
Duas importantes modificações do "sh" são: o Korn Shell (ksh, de David Korn, da Bell, em 1981) e o C Shell, csh (de 1978).
Também do Korn Shell, deriva o padrão para os interpretadores de comandos POSIX (IEEE Std 1003.2-1992).
O ksh foi propriedade da AT&T (American Telephone & Telegraph), empresa à qual os laboratórios Bell pertenceram.
Importante para a história dos shells, é o tcsh (TC Shell), um shell baseado nos comandos de um velho sistema operacional chamado TENEX (1975, de Ken Green, da Universidade Carnegie Mellon). Ele próprio, Ken, o juntaria depois ao C Shell, formando o tcsh (em 1981), que depois seria aperfeiçoado por Mike Ellis (dos laboratórios Fairchild) em 1983.
Outro importante é o dash, uma variante para Debian do ash (Almquist Shell, para BSDs). Importante, porque embora os sistemas GNU/Linux usem mais o bash, o dash é o padrão POSIX para GNU/Linux:
Em 1990, um estudante de Princeton, Paul Falstad, desenvolveria outro importante interpretador de comandos, o Z Shell (zsh), procurando combinar todos os desenvolvimentos existentes nos shells antigos: Bourne Shell, Korn Shell, TC Shell e alguma coisa do bash, que surgia.
O shell mais usado nos sistemas GNU/Linux, o "bash" ("Bourne-Again Shell") é um grande aperfeiçoamento (e de sintaxe mais simples) livre e de código aberto, do Shell Bourne (sh).
Foi feito por Brian Fox (da Free Software Foundation) para o projeto GNU, e inicialmente era um shell para Unix e não para Linux. Inclusive, Linux ainda não existia em 1989, quando o shell bash foi lançado.
Outros shells: wsh (Windowing Shell); hcsh (Hamilton C Shell); Plan 9 RC Shell, psh (Perl Shell); sash (Stand-Alone Shell), etc. Os mais recentes: mksh (MirBSD Korn Shell, de 2003) e o fish, de 2005, do qual trata este artigo.
Detalhes da história dos interpretadores de comandos:
Fish
Estou fazendo testes com outros shells, interpretadores de comandos, para terminal, alternativas ao muito conhecido e usado bash ("Bourne-Again Shell"), o padrão da maior parte das distribuições GNU/Linux.Veja por exemplo, meu artigo sobre o shell ksh:
Hoje, vamos ver um shell fácil de usar: fish.
O fish (Friendly Interactive Shell) teve seu desenvolvimento inicial a partir de 2005, por Axel Liljencrantz, um programador de Estocolmo, Suécia:
Mas atualmente, é feito por uma equipe de programadores da Europa e Estados Unidos:
Outros sites sobre o shell fish:
- fish shell
- fish-shell/fish-shell · GitHub
- Friendly Interactive Shell (fish) - Gitorious
- fish.sourceforge.net
- Fish - ArchWiki
- friendly interactive shell - Wikipedia, the free encyclopedia