variaveis
Variáveis globais são aquelas que podem ser vistas por qualquer função, e/ou por qualquer parte do script. Variáveis locais são usadas somente dentro de uma função e tem precedência sobre as variáveis globais, isso quer dizer que se declararmos VAR globalmente, e depois declararmos VAR localmente, o shell usará a variável local, lembre-se disso. Constante, como o próprio nome diz, é uma constante, ela não pode ter seu valor alterado de nenhuma forma no decorrer da execução do script. Para criarmos uma variável global basta declararmos normalmente a variável, exemplo: TRUE='0'FALSE='1'Com isso as duas variáveis acima podem ser vistas em qualquer lugar do código. Para criamos uma variável local devemos primeiro declará-las dentro de uma função, e antes do nome da variável devemos usar a palavra local, exemplo: function minha_funcao(){ local TRUE='verdade' local FALSE='falso' echo $TRUE echo $FALSE}Vamos ver o funcionamento da precedência: $ TRUE='0'$ FALSE='1'$ function minha_funcao(){ local TRUE='verdade'; local FALSE='falso'; echo $TRUE; echo $FALSE; }$ echo $TRUE0$ echo $FALSE1$ minha_funcao verdadefalso O uso de variáveis locais é muito importante, pois assim facilita a reutilização do código, além de ajudar na criação de uma biblioteca de funções, pois usando variáveis locais você evitará o conflito entre variáveis, então é altamente recomendado que sempre que for criar uma variável dentro de uma função que ela seja local, evite o máximo possível o uso de variáveis globais. Vamos agora ver um pouco sobre as constantes. As constantes podem estar em qualquer parte do código, porém assim como as variáveis globais é preferível que elas sejam declaradas no começo do código, isso se aplica as funções, ou seja, se precisar de uma constante coloque-a no começo da função e de preferência sendo uma constante local. Para se declarar uma constante devemos fazer: declare -r <nome_da_constante>=<valor>