Quanto ao escopo, o shell aceita dois tipos de variáveis: variáveis locais e variáveis globais. Variável local é aquela que só é reconhecida no shell corrente e variável global é aquela que é reconhecida por todo o sistema.
Para declarar uma variável local use a seguinte sintaxe:
VARIÁVEL=CONTEÚDO
Exemplo:
nome=samu idade=34
Observe que não há espaços entre o nome da variável, o sinal de igual e o valor da variável. Isto é importante. Se você colocar espaço aí ocorrerá um erro.
Os nomes das variáveis devem iniciar com uma letra ou o caractere de sublinhado ( _ ). Na sua constituição podem ter quaisquer caracteres alfanuméricos ou o caractere de sublinhado.
Para tornar uma variável global use o comando export. Exemplo:
export nome
Para impedir qualquer alteração na variável, ou impedir que ela seja apagada, utilize o comando readonly. Exemplo:
readonly idade
Para apagar uma variável use o comando unset. Exemplo:
unset nome
Quando, no código do seu script, o nome de uma variável for precedido pelo sinal $ (dóllar), o shell substituirá o nome da variável pelo seu valor. Isto é conhecido como substituição de variável e é muito usado nos scripts.