
Vi lo siguiente (para iniciar un servidor web nodejs express) y no puedo encontrar documentación sobre esto *
:
prompt>> DEBUG=* command
Esto establece DEBUG
un valor temporal en el entorno del comando, pero ¿qué valor? Probé export DEBUG=*
una línea propia y DEBUG
termino siendo una estrella:
prompt>> export DEBUG=*
prompt>> printenv DEBUG
*
prompt>>
Entonces, puede que no tenga nada de especial y el servidor web nodejs express busca si DEBUG
es "*". ¿Hay situaciones (como un historial diferente de comandos) en las que DEBUG=* command
resultaría en DEBUG
no ser una estrella en el entorno del comando?
Respuesta1
man bash
detalla todas las expansiones que se realizan durante las asignaciones de variables:
El texto después de = en cada asignación de variable sufre expansión de tilde, expansión de parámetros, sustitución de comandos, expansión aritmética y eliminación de comillas antes de ser asignado a la variable.
Ningunode esas expansiones cambiará el valor de DEBUG=*
.
Siexpansión del nombre de rutase realizaran durante la asignación de variables, provocaría *
que fueran reemplazados por una lista de archivos. Pero,expansión del nombre de rutaesnoen la lista anterior y, en consecuencia, no alterará el archivo *
.
En resumen, DEBUG=*
establece el valor de DEBUG
en un literal *
.