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: 24.206 ]

Por: Alberto Federman Neto. em 18/09/2013 | Blog: https://ciencialivre.blog/


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

Experimento com Linux (parte 2): de Sabayon a... Gentoo e Funtoo!

As características de personalidade dos usuários de Linux

openSUSE - As várias formas de atualizá-lo e de instalar pacotes

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Ambiente gráfico MATE no Sabayon Linux

Leitura recomendada

Guia de preparação para LPI

Programando um mundo livre

Como contribuir para projetos abertos no GitHub

A Evolução dos Sistemas Operacionais

O que é Orientação a Objeto - Mais uma tentativa

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts