O que é o Fish Shell? Um Shell Amigável que Até Iniciantes Vão Adorar 🐠
A "tela preta" (também conhecida como terminal ou console) te intimida? Como criador web, você frequentemente precisa digitar comandos para operações do Git ou tarefas de compilação, certo?
"Não consigo lembrar os comandos...", "Continuo recebendo erros por erros de digitação...", "A configuração é muito difícil e eu desisti..."
Se isso soa familiar, então você definitivamente deveria experimentar o "Fish Shell". Fish é a abreviação de "Friendly Interactive Shell" (Shell Interativo Amigável) e, como o nome sugere, é um shell incrivelmente amigável, perfeito para iniciantes. Neste artigo, vamos pular as partes complicadas e permitir que você experimente o poder do Fish simplesmente copiando e colando!
🚀 O que há de tão bom no Fish Shell? 3 Recursos Incríveis
O Fish shell tem muitos recursos excelentes, mas aqui estão três principais que certamente impressionarão os iniciantes.
1. "Autossugestões" (Preenchimento do Histórico de Comandos) que Parecem Ler a Mente
O maior destaque do Fish shell são suas autossugestões. Ele lembra os comandos que você digitou no passado e sugere o que você talvez queira digitar a seguir em um texto cinza claro, após apenas alguns caracteres. Se a sugestão estiver correta, basta pressionar a tecla → (seta para a direita) ou Ctrl+F para aceitá-la. Chega de redigitar comandos longos!
Por exemplo, digamos que você já tenha digitado o comando `git switch feature/new-design`. Da próxima vez que você digitar `git s`...
$ git switch feature/new-design
Ele sugere automaticamente o restante do comando. Apenas este recurso já garante uma melhoria drástica na sua produtividade no terminal!
2. Identifique Erros Instantaneamente! "Destaque de Sintaxe"
Digitar comandos incorretamente é uma grande fonte de erros. O Fish shell colore seus comandos em tempo real para mostrar se são válidos.
Por exemplo, um comando existente como `git` é exibido em ciano.
$ git
No entanto, se você digitar um comando inexistente como `gitt`, ele fica vermelho. Isso permite que você perceba o erro de digitação antes mesmo de executá-lo.
$ gitt
3. Sem Arquivos de Configuração! Personalização Fácil no seu Navegador Web
Quando você pensa em personalização de shell, provavelmente imagina editar arquivos de configuração complexos como `~/.bashrc`. Com o Fish shell, você não precisa se preocupar com isso. Apenas execute o seguinte comando.
$ fish_config
Ao executar este comando, seu navegador da web será aberto automaticamente, permitindo que você personalize facilmente esquemas de cores e a aparência do seu prompt (o texto que aparece enquanto espera por um comando) com apenas alguns cliques, enquanto vê uma prévia ao vivo. Mesmo que você não seja fã da tela preta, pode criar intuitivamente um ambiente que adora.
💻 Vamos Experimentar! Operações Básicas do Fish Shell
Agora, vamos experimentar alguns comandos reais do Fish. Copie e cole-os em seu terminal para ver como funcionam.
Imprimindo Texto: `echo`
Primeiro, o comando básico `echo`. Ele imprime a string especificada na tela. Isso é quase o mesmo que em outros shells.
$ echo "Olá, Fish Shell!"
Olá, Fish Shell!
Usando Variáveis: `set`
Para lidar com variáveis no Fish shell, você usa o comando `set`. Você não usa `=` (o sinal de igual). Separar com um espaço é o jeito do Fish.
$ set nome "Maria Silva"
Para verificar o conteúdo de uma variável, use `echo` com um prefixo `$`.
$ echo $nome
Maria Silva
Looping: O Laço `for`
O laço `for` no Fish tem uma sintaxe muito intuitiva e legível em comparação com outros shells.
Por exemplo, vamos exibir as strings de `item-1` a `item-3` uma por uma.
$ for item in item-1 item-2 item-3
echo $item
end
item-1
item-2
item-3
Você também pode usar a saída de um comando para o laço, como com `(seq 1 3)`. Este comando gera números de 1 a 3.
$ for i in (seq 1 3)
echo "Número: $i"
end
Número: 1
Número: 2
Número: 3
Criando uma Função Simples: `function`
Você pode agrupar uma série de comandos usados com frequência em uma função. Aqui, vamos criar uma função chamada `ola` que dá uma saudação.
$ function ola
echo "Olá, $argv!"
end
Agora você criou um novo comando chamado `ola`. `$argv` é uma variável especial que contém os argumentos (neste caso, um nome) passados para a função.
Vamos executar a função que você acabou de criar.
$ ola "Mundo"
Olá, Mundo!
💡 Um Pouco Mais Conveniente! Uso Avançado
Mais Poderoso que Aliases: O Comando `abbr`
`abbr` (abreviação de "abbreviation") permite expandir palavras-chave curtas em comandos longos. É semelhante a um alias, mas o recurso principal do `abbr` é que, depois de digitá-lo e pressionar Espaço ou Enter, ele se expande para o comando completo no local. Isso permite que você confirme o que será executado de antemão.
Vamos configurar um atalho `gco` para o comando `git checkout`, que é frequentemente usado por criadores da web.
$ abbr --add gco "git checkout"
Agora, quando você digita `gco` no terminal e pressiona espaço, ele se expandirá instantaneamente para `git checkout`. Isso reduz a quantidade de digitação e torna as coisas realmente confortáveis!
⚠️ Atenção! Diferenças do bash
O Fish é excelente, mas tem algumas diferenças do shell `bash`, que é padrão em muitos sistemas Linux e macOS. Você precisa ter um cuidado especial ao copiar e colar comandos de outros sites.
1. Como Escrever AND (&&)
Ao executar vários comandos em sucessão, o bash usa `&&`, mas o Fish usa `; and`.
❌ Incorreto (estilo bash)
$ mkdir new_dir && cd new_dir
✅ Correto (estilo Fish)
$ mkdir new_dir; and cd new_dir
2. Como Definir Variáveis de Ambiente
O método para definir variáveis de ambiente, como para adicionar ao seu PATH, também é diferente. O Bash usa `export`, enquanto o Fish usa o comando `set` com a opção `-x` (export).
❌ Incorreto (estilo bash)
$ export MY_VARIABLE="some_value"
✅ Correto (estilo Fish)
$ set -x MY_VARIABLE "some_value"
Desde que você se lembre dessas diferenças, raramente terá problemas.
Resumo
Então, o que você achou? Esperamos que você tenha conseguido experimentar o encanto do Fish shell, especialmente recursos amigáveis como 'autossugestões' e 'destaque de sintaxe', copiando e colando.
Mesmo que você tenha se sentido intimidado pelas operações de terminal até agora, temos certeza de que, ao usar o Fish shell, você pensará: "Quero usar mais isso!" Quando as operações de comando se tornam confortáveis, sua eficiência de desenvolvimento aumenta drasticamente.
Se você se interessou pelo Fish shell depois de ler este artigo, por favor, prossiga para o próximo artigo para instalá-lo e incorporá-lo ao seu ambiente de desenvolvimento!
Próximo Passo ▶ Como Instalar e Configurar o Fish (Linux / macOS)