Menu
Coddy logo textTech

Entrada do Usuário em Scripts

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 69 de 82.

Variáveis são úteis, mas às vezes você quer que seu script peça informações ao usuário enquanto ele executa. O comando read pausa o script e espera que o usuário digite algo, depois armazena essa entrada em uma variável.

Aqui está como funciona:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

Quando este script é executado, ele imprime a pergunta, espera o usuário digitar o nome e pressionar Enter, depois o cumprimenta. O comando read pega tudo o que o usuário digita e armazena na variável name.

Você pode tornar o prompt mais limpo usando a flag -p, que combina a mensagem do prompt e a entrada na mesma linha:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

Isso exibe Enter your name: e espera pela entrada na mesma linha, o que parece mais polido. A flag -p recebe o texto do prompt como seu argumento, seguido pelo nome da variável para armazenar a entrada.

A entrada do usuário torna os scripts interativos e adaptáveis. Em vez de codificar valores fixos, você pode escrever um script que funciona de forma diferente com base no que o usuário fornece a cada vez que o executa.

challenge icon

Desafio

Fácil

Crie um script de shell chamado greeter.sh que pergunta ao usuário qual é a sua cor favorita e depois exibe uma mensagem usando a entrada dele.

Seu script deve:

  1. Começar com a linha shebang (#!/bin/bash)
  2. Usar read com a opção -p para exibir o prompt: What is your favorite color?
  3. Armazenar a entrada em uma variável chamada color
  4. Usar echo para imprimir: Nice! [color] is a great color! (onde [color] é a entrada do usuário)

Torne o script executável e execute-o. Quando solicitado, digite blue como sua resposta.

Sua saída deve ser:

What is your favorite color? blue
Nice! blue is a great color!

Dica: Construa o script linha por linha usando echo com redirecionamento. Use read -p "What is your favorite color? " color para exibir o prompt e capturar a entrada, depois echo "Nice! $color is a great color!" para exibir o resultado.

Folha de consulta

O comando read pausa o script e espera pela entrada do usuário, depois armazena em uma variável:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

Use a opção -p para exibir o prompt e a entrada na mesma linha:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

A opção -p recebe o texto do prompt como seu argumento, seguido pelo nome da variável para armazenar a entrada.

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos