2011-03-14 8 views
12

De acuerdo, sé que hay un depurador bash. Pero lo que estoy buscando es si tengo una variable de entorno en uno de mis scripts de inicio y no sé cómo se configuró o dónde podría estar, ¿hay alguna forma de encontrarlo que no sea la búsqueda exhaustiva de los scripts?Averigüe dónde se estableció por última vez una variable de entorno en bash

Es decir, ¿hay algún mecanismo/herramienta que brinde tal cosa? ¿Bash realiza un seguimiento de las ubicaciones de configuración de variables?

Aunque esto puede no parecer muy importante, pero se me pasó por la cabeza el otro día cuando estaba ayudando a un amigo a instalar OpenCL y el paquete supuestamente estableció la variable $ATISTREAMSDKROOT automáticamente. De todos modos, se suponía que el paquete debía agregar un archivo al /etc/profile.d para permitir el establecimiento de la variable, pero no fue así. Y afortunadamente la variable salió en blanco.

Pero me preguntaba si no había salido en blanco, y el paquete lo agregó a un archivo aleatorio, probablemente no habría manera de saber dónde estaba, además de buscarlo.

supuesto que conozco se podría escribir un comando sed o dos y buscar a través de los guiones, pero me gustaría considerar que la búsqueda exhaustiva: D

Respuesta

23

Una opción sería la de iniciar una instancia de fiesta con:

bash -x 

... y busque dónde se establece la variable en esa salida. Para redirigir esa salida a un archivo, se puede hacer:

bash -x -ls -c "exit" 2> shell-startup-output 

Debería ver en la salida donde se cultivan cada archivo.

+0

exactamente lo que quería, gracias !! – omarzouk

Cuestiones relacionadas