É comum poder desabilitar certas funcionalidades em um script de shell definindo explicitamente uma variável para 0
em vez de desativá-la? Qual seria a abordagem mais canônica?
A razão pela qual estou perguntando é que desarmar uma variável X
permite sintaxe como ${X:-foo}
, onde foo
é retornado caso X
não esteja definido. Definir X
como 0
explicitamente ainda faria com foo
que fosse avaliado onde isso pode não ser pretendido.
Eu sempre usaria
unset
.As várias formas de expansão de variáveis permitem que você veja se está definido ou não.
Mais sutil do que eu me lembrava. Eu nunca usei a versão := antes. Avaliado da esquerda para a direita, e as atribuições são efetivadas imediatamente.
Isso também pode ser um propósito interessante para o
:
comando interno "Não fazer nada".