Variáveis em Scripts
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 68 de 82.
Variáveis tornam seus scripts flexíveis e reutilizáveis. Em vez de codificar valores fixos, você pode armazená-los em variáveis e referenciá-los em todo o seu script.
Para criar uma variável dentro de um script, use a mesma sintaxe que você aprendeu para o terminal: sem espaços ao redor do sinal de igual. Para usar o valor da variável, anteponha um sinal de dólar ao seu nome:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Este script imprime Hello, World!. As variáveis greeting e name armazenam texto que é substituído quando o script é executado.
Variáveis se tornam especialmente úteis quando você precisa usar o mesmo valor várias vezes. Se você referenciar um caminho de arquivo em vários lugares, armazená-lo em uma variável significa que você só precisa alterá-lo uma vez:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Observe as aspas ao redor de "$backup_dir". Envolver variáveis em aspas duplas é uma boa prática porque lida corretamente com caminhos ou valores que contêm espaços. Sem aspas, um caminho como /my documents quebraria seu comando.
As variáveis em scripts funcionam da mesma forma que no terminal, mas elas existem apenas enquanto o script está em execução. Quando o script termina, essas variáveis desaparecem.
Desafio
FácilCrie um script shell chamado intro.sh que usa variáveis para exibir uma mensagem personalizada.
Seu script deve:
- Comece com a linha shebang (
#!/bin/bash) - Crie uma variável chamada
languagecom o valorBash - Crie uma variável chamada
skillcom o valorscripting - Use
echopara imprimir ambas as variáveis no formato:Learning Bash scripting!
Torne o script executável e execute-o. Sua saída deve ser:
Learning Bash scripting!Dica: Crie o script usando
echocom redirecionamento. Lembre-se de referenciar as variáveis com$na sua instrução echo, comoecho "Learning $language $skill!"
Folha de consulta
Variáveis em scripts Bash armazenam valores que podem ser referenciados ao longo do script. Crie variáveis sem espaços ao redor do sinal de igual, e acesse seus valores prefixando o nome da variável com $:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Sempre envolva variáveis em aspas duplas para lidar corretamente com valores que contêm espaços:
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Variáveis existem apenas enquanto o script está em execução e desaparecem quando ele termina.
Experimente você mesmo
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
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log13Fundamentos de Shell Scripting
O Que É Um Script de ShellCriar e Executar um ScriptVariáveis em ScriptsEntrada do Usuário em ScriptsInstrução IfLaço ForLaço WhileResumo - Adivinhador de Números2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados