Pular para o conteúdo
Insetário do Bash

/static/insetario/inseto/param-erro/

Menu

BSH-006 · Parâmetros

${var:?erro}

Sem valor, o script para na hora — com a mensagem escolhida.

A sentinela da família: se var estiver vazia ou ausente, o shell escreve a mensagem no erro padrão e, em script, encerra ali mesmo. Nenhum rm -r parte com destino vazio.

É a checagem de pré-condição mais barata que existe: uma linha, nenhum if. No shell interativo o comando é abortado, mas a sessão sobrevive.

$ unset DESTINO
$ cp coleta.db "${DESTINO:?defina DESTINO antes}"
bash: DESTINO: defina DESTINO antes
$ echo $?
1
A variável vazia, barrada na porta.