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.

[ Hits: 23.048 ]

Por: Alberto Federman Neto. em 18/09/2013 | Blog: http://www.angelfire.com/wa/brasbeto/


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:
    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e uso geral
   3. Configuração
   4. Trocando o shell padrão
Outros artigos deste autor

Linux no Pendrive: Definitivamente configurável e persistente

Emmi Linux - Uma Revisão, Primeiras Impressões e Testes

Sabayon 5.0 - Transformando Sabayon 4.0r1 em Sabayon 5.0 "Full" (parte 2)

Ajustando a hora do micro com extrema precisão

A teoria Linux por trás dos acessos e dos atalhos

Leitura recomendada

Mensageiro instantâneo

SSH - Tradução da man page

A história do ogg na web

Controle de banda com HTB-Tools

O Centro de Controle YaST

  
Comentários
[1] Comentário enviado por xerxeslins em 18/09/2013 - 18:40h

Creio que não irei usar, mas mesmo assim é muito interessante. Favoritado.

[2] Comentário enviado por eldermarco em 19/09/2013 - 09:53h

Sensacional! Eu acho que já tinha ouvido falar desse fish em algum momento, mas agora vi algo bem mais completo. Deve permanecer com o bash, mas vou dar uma olhada nele para conhecer e ver como anda o desenvolvimento. Nota 10!

[3] Comentário enviado por dimasdaros em 21/09/2013 - 13:06h

Opa, estou testando ele aqui, parece ser bem produtivo.
Uma coisa que não consegui foi usar o auto completar com base no histórico, até que você que comentou que ao digitar `cat` ele já sugeriu o comando, aqui não consegui usar essa função (que no bash é ctrl + r)

Mas estou gostando.
Vlw pela dica.
Abraço.

[4] Comentário enviado por Ang em 22/09/2013 - 17:23h

Olá, bom dia!
Você pode criar uma dica de Shell`s para iniciantes no ´Mundo` Linux?

[5] Comentário enviado por albfneto em 22/09/2013 - 18:42h

Como assim? Uma Dica para iniciante total usar comandos?

Comandos para quem nunca usou? Não vai ficar muito básico?

[6] Comentário enviado por claudiocastelo em 26/09/2013 - 14:27h

Curiosidade, o comando "history" não funciona!

[7] Comentário enviado por albfneto em 27/09/2013 - 00:06h

Claudio e Dimasdaros..

deve ser algo da config de vocês, pq aqui (Dimasdaros) digitei "his" e ele completou!
e o history está funcionando aqui, veja:

[code]
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
albfneto no sabayon dir: ~
↪ history

transmission
amuleadu
amule
sudo equo i --nodeps www-client/chromium
sudo equo i --nodeps www.client/chromium v8 anaconda
sudo equo up
locate mountpoint
sudo equo i util-linux
equo s util-linux
equo s util-linux
sudo equo mask protobuf
sudo equo up sabayonlinux.org
sudo equo up http://sabayon.c3sl.ufpr.br/entropy/
help
exit
ls -a
ls
...........................
/code]

chequem as configs do Fish de vocês, os arquivos citados no artigo

[8] Comentário enviado por juno em 02/10/2013 - 09:38h

Caro albfneto
Muito legal já estou usando ....

[9] Comentário enviado por removido em 06/08/2014 - 01:47h

Um grande shell, sem dúvida, uma pena os devs não darem muita moral para ele.

[10] Comentário enviado por guimaraesrocha em 22/08/2014 - 21:23h

Mais um shell para testar, bom artigo.

[11] Comentário enviado por uberlan em 23/10/2014 - 23:37h

Muito obrigado pela dica. Me salvou de uma...


Contribuir com comentário