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.
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