Tengo un problema simple para entender un comportamiento en Linux. En resumen, en linux si invoco mi script sh desde un 'Acceso directo de escritorio', entonces el script no puede ver las últimas variables de entorno (establecidas en bashrc). Entonces me preguntaba ¿en qué ámbito se encuentra este script de shell?.bashrc no se lee cuando se invoca script de shell desde el acceso directo de escritorio
Para crear un caso de prueba y se reproducen:
crear un sencillo script de shell 'testme.sh':
!/bin/sh echo "Hi This is a test script checking the env var"; echo "TESTVAR = $TESTVAR"; read in echo "Done";
crear un acceso directo de escritorio para el script anterior.
cd ~/Desktop vi mytest-desktop.desktop //Contents for mytest-desktop.desktop are : [Desktop Entry] Version=1.0 Type=Application Name=TestAbhishek Exec=/home/abhishek/test/hello.sh Terminal=true
- Ahora actualizar su archivo .bashrc para establecer la variable
export TESTVAR=test_this_variable
abierto una nueva terminal y ejecutar la secuencia de comandos con su ruta completa como '~/testme.sh' // Esto puede ver el valor de la variable 'TESTVAR' del archivo .bashrc.
Ahora, simplemente haga doble clic y ejecute el atajo de Escritorio. // Esto debería abrir un terminal e imprimir el valor de 'TESTVAR' como en blanco. // Entonces mi pregunta es, ¿quién es el padre de la terminal abierta por este atajo?
He intentado con RHL. Estoy buscando una solución o un w/a para este problema, espero que alguien pueda ayudar pronto.
Gracias, Abhishek.