
Eu vi o seguinte (para iniciar um servidor web expresso nodejs) e não consigo encontrar documentação sobre isso *
:
prompt>> DEBUG=* command
Isso define DEBUG
um valor temporário no ambiente do comando, mas qual valor? Tentei export DEBUG=*
uma linha própria e DEBUG
acabei sendo uma estrela:
prompt>> export DEBUG=*
prompt>> printenv DEBUG
*
prompt>>
Portanto, pode não haver nada de especial nisso, e o servidor web nodejs express verifica se DEBUG
é "*". Existem situações (como um histórico de comandos diferente) em que DEBUG=* command
resultaria em DEBUG
não ser uma estrela no ambiente do comando?
Responder1
man bash
detalha todas as expansões executadas durante as atribuições de variáveis:
O texto após = em cada atribuição de variável sofre expansão de til, expansão de parâmetro, substituição de comando, expansão aritmética e remoção de aspas antes de ser atribuído à variável.
Nenhumdessas expansões mudará o valor de DEBUG=*
.
Seexpansão do nome do caminhoforam executadas durante a atribuição de variáveis, elas seriam *
substituídas por uma lista de arquivos. Mas,expansão do nome do caminhoénãona lista acima e, consequentemente, não alterará o arquivo *
.
Em suma, DEBUG=*
define o valor de DEBUG
como literal *
.