DEV Community

Patrícia Villela for Feministech

Posted on

11 4

Como customizar o prompt do seu terminal

Salve, salve, camaradas!
Para quem usa Linux ou Mac o terminal é uma visão muito comum e familiar. Estamos acostumados a ver coisas como essa:

patricia@patricia-PC:~$
Enter fullscreen mode Exit fullscreen mode

Comum, certo? Nome do usuário, nome do host e diretório atual. No entanto, você sabia que seu prompt poderia ser assim?

Se liga no comando muito louco que patricia vai rodar agora! > 
Enter fullscreen mode Exit fullscreen mode

Se você não sabia, vem comigo!

Variáveis de ambiente que controlam o prompt

Há 4 variáveis de ambiente que configuram o prompt

  • PS1: Essa variável vai definir o que vai aparecer no prompt padrão.
  • PS2: Essa variável vai definir o que vai aparecer quando seu comando tiver múltiplas linhas (por exemplo num comando for).
  • PS3: Essa variável vai definir o que vai aparecer quando você usar o comando select. Não se preocupe muito com essa.
  • PS4: Essa variável vai definir o que vai ser mostrado quando o bash for instruído a mostrar o stack trace de um comando. Não se preocupe muito com essa também.

Dessas variáveis, as que mais serão usadas são as PS1 e PS2, e a primeira muito mais que a segunda.

Bora customizar??

Customizando o prompt

Em primeiro lugar, não fique com medo de "zoar" seu prompt. Qualquer mudança que você fizer é reversível.

Agora que estamos sem medo, vamos colocar a data atual no prompt.

patricia@patricia-PC:~$ PS1="\t $PS1"
20:00:05 patricia@patricia-PC:~$
Enter fullscreen mode Exit fullscreen mode

Que que aconteceu aí?
Na primeira linha a gente modifica a variável PS1 para receber o valor \t $PS1. Esse $PS1 será expandido para o prompt atual, que no meu caso é \u@\h:\w\$. Então o prompt vai ficar \t \u@\h:\w\$.
Agora, como que \t virou a data? Essa é uma "variável" interna usada pro prompt.

  • \u será expandido para o nome do usuário
  • \h será expandido para o nome do host (até o primeiro ".")
  • \w será expandido para o diretório atual (substituindo /home/${USER} por ~)
  • \$ será expandido para $ quando o usuário for comum e # quando o usuário for o "root"
  • \t será expandido para a data no formato HH:MM:SS (formato de 24 horas)

Se você não gostar do que você fez, você pode ou tentar reconstruir o PS1 anterior ou simplesmente sair e voltar para o terminal. (Se você estiver usando um emulador de terminal, basta abrir uma outra aba ou fechar e abrir de novo).

Aqui tem uma referência boa para ler mais sobre essas configurações, mas é bastante extensa e densa, então leia com coragem. Essa sessão e essa sessão são as mais importantes!

Se quiserem, postem seus PS1's aqui embaixo nos comentários! (se mudarem PS2, PS3 ou PS4 mandem também!)

Um beijo!

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay