¿Por qué la variable ambiental no devuelve ninguna en Linux?

¿Por qué la variable ambiental no devuelve ninguna en Linux?

En Windows, para establecer una nueva variable = valor, simplemente podemos agregarla a la variable ambiental. Sin embargo, en Linux, parece un poco complicado. este es el procedimiento que seguí:

Abra Terminal y escriba:

vim ~/.bashrc  

luego presione el teclado "i" y luego defina la variable de la siguiente manera:

Test_MyVariable='Tessst'
export Test_MyVariable
PATH=$PATH:Test_MyVariable/bin

entonces:wq

después de $echo veo la variable:

echo $Test_MyVariable 

y devuelve:

Tessst

pero en mi Texto sublime devuelve Ninguno.

import os
new_v= os.environ.get('Test_MyVariable')
print(new_v)

Ninguno

Incluso revisé todos los os.environ disponibles pero no puedo encontrar mi archivo Test_MyVariable. Además, también probé con ~/.bash_profiley ~/.profileles agregué variables, pero obtuve el mismo resultado. ¿Podría decirme qué estoy haciendo mal?

Respuesta1

Cuando define una variable en ~/.bashrc, esa variable estará presente tan pronto como ~/.bashrcse "obtenga" (lea). Esto sólo sucede cuando inicia un nuevo shell (por ejemplo, cuando abre una nueva terminal).

Entonces, si agrega la nueva línea a su .bashrcarchivo, deberá abrir una nueva terminal y ejecutar su script de Python allí. Alternativamente, puede ejecutarlo source ~/.bashrcpara obtenerlo en el shell actual.

Ahora, mencionas sublime pero no explicas realmente por qué es relevante, así que asumiré que estás ejecutando tu script de Python dentro del editor sublime de alguna manera. Presumiblemente, tiene algún tipo de emulador de shell. Si ese es el caso, entonces los detalles de cómo y dónde definir la variable dependerán de cómo sublime configure su caparazón. Pruebe lo siguiente:

  1. Simplemente cierre la ventana sublime y luego ábrala nuevamente y vea si ya ha vuelto a leer su archivo .bashrc.

  2. Sublime bien podría no leer .bashrcnada. Si está ejecutando sublime desde algún botón de la GUI, probablemente necesitará cerrar sesión y volver a iniciarla antes de que pueda volver a leer las variables.

  3. Intente abrir una nueva terminal y ejecutarla sublime(o cualquiera que sea el nombre del comando para iniciar sublime desde la línea de comandos). ¿Ve la variable entonces?

información relacionada