Introdução
Pode ser útil assegurar-se que uma variável está bem definida antes de proceder à SUS substituição, ou simplesmente de assegurar-se que esta não está vazia, e neste caso de incializar com um valor padrão.
As diferentes formas de substituição de variáveis
Expressão interpretação
$var Substituída pelo valor ="$var" se ela é definida. Senão por nada.
${var} Substituída pelo valor da variável "$var" se ela é definida. Senão por nada. Esta forma é recomendada, para se precaver de certas incoerências de concatenação de cadeias de caracteres.
${var:-défaut} Substituída pela variável "$var" se ela é definida. Senão pelo valor "padrão".
${var:+défaut} Inicializada a variável "$var" com o valor "padrão" se ela é definida. No caso contrário (não definida) deixá-la vazia.
${var:?"Message"} Substituida pelo valor da variável "$var" se ela é definida. Em caso contrário, o Shell afixa uma mensagem de erro definidi no lugar e na posição de "mensagem". Muito útil para detectar as variáveis indefinidas e nestes casos, interromper o script em andamento.
Pensar a à cotar "Mensagem" se ela contém caracteres especiais.
${var:=défaut} Substituída pelo valor da variável "$var" se ela é definida.
Senão criar e inicializar a variável "$var" com o valor « padrão".
Tradução feita por Ana Spadari