Pergunta

Existe alguma maneira de lançar erros ou avisos em um script KornShell (ksh) para evitar o uso de variáveis ??unset? Vamos supor que eu tenho uma pasta temporária que deseja remover.

TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling

Como evitar este tipo de erros antes que eles realmente acontecer?

Eu sei que o script deve verificar a existência do arquivo e string vazia antes de tentar remover, este é apenas um exemplo bobo para ilustrar um erro que poderia ter sido evitado com algumas advertências. Eu não sei se esse recurso existe no ksh. Se ela existe, como você ligá-lo?

Foi útil?

Solução

O comando

set -u

Será causar POSIX sh (1) e seus derivados para grouse quando uma tentativa de expandir uma variável unset é feita.

Exemplo:

$ echo $foo

$ set -u
$ echo $foo
sh: foo: parameter not set

Outras dicas

Você pode verificar a variável por ter conteúdo, ou seja, não sendo '', e imprimi-out uma mensagem como "a variável está vazia".

No entanto, isso ainda não vai erros PEBCAK correção como este -. Tudo o que você sabe é que nada aconteceu

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top