Introdução ao Bash Scripting
Alex Scriven
Data Scientist
Como em outras linguagens, você pode atribuir variáveis com o sinal de igual.
var1="Moon"
Depois, referencie com a notação $.
echo $var1
Moon
Dê um nome sensato para sua variável:
firstname='Cynthia' lastname='Liu'echo "Hi there" $firstname $lastname
Hi there Cynthia Liu
As duas variáveis foram exibidas — legal!
Se você esquecer a notação $, não é variável!
firstname='Cynthia'
lastname='Liu'
echo "Hi there " firstname lastname
Hi there firstname lastname
Bash não perdoa espaços na criação de variáveis. Evite adicionar espaços!
var1 = "Moon"
echo $var1
script.sh: line 3: var1: command not found
Em Bash, aspas diferentes significam coisas diferentes — tanto ao criar variáveis quanto ao imprimir.
'sometext') = o Shell interpreta literalmente o conteúdo"sometext") = o Shell interpreta literalmente exceto para $ e backticks A última forma cria um "shell dentro do shell", abaixo. Útil para chamar programas de linha de comando. Isso é feito com backticks.
Vamos ver o efeito dos diferentes tipos de criação de variável
now_var='NOW'now_var_singlequote='$now_var' echo $now_var_singlequote
$now_var
now_var_doublequote="$now_var"
echo $now_var_doublequote
NOW
O programa date é útil para demonstrar backticks
Saída normal deste programa:
date
Mon 2 Dec 2019 14:07:10 AEDT
Agora, vamos usar o shell dentro do shell:
rightnow_doublequote="The date is `date`."
echo $rightnow_doublequote
The date is Mon 2 Dec 2019 14:13:35 AEDT.
O programa date foi chamado, a saída capturada e combinada in-line com echo.
Usamos um shell dentro do shell!
Há um equivalente à notação com backticks:
rightnow_doublequote="The date is `date`."
rightnow_parentheses="The date is $(date)."
echo $rightnow_doublequote
echo $rightnow_parentheses
The date is Mon 2 Dec 2019 14:54:34 AEDT.
The date is Mon 2 Dec 2019 14:54:34 AEDT.
Ambas funcionam igual, mas backticks são mais antigos. Parênteses são mais usados hoje. (Veja http://mywiki.wooledge.org/BashFAQ/082)
Introdução ao Bash Scripting