No puedo configurar las variables ambientales presentes en un .csh
uso de otro .tcsh
que obtiene este archivo dentro de él:
- Esto no establece las variables de entorno:
$PERC_PATH/bin/runperc.csh ...<some arguments>
- Mientras que esto establece las variables de entorno:
source $PERC_PATH/bin/runperc.csh ..<some arguments>
Ambos son ejecutables, los shebangs son /usr/bin/csh
y runperc.csh
las fuentes perc_setup.csh
que contienen:
source $PERC_PATH/perc_setup.csh
perc_setup.csh
contienesetenv
y algunos otros comandos:setenv MGC_RVEDB_DIR {$PERC_PATH}/setup:{$HOME}
¿Cómo configuro las variables de entorno en la terminal sin tener que especificar explícitamente source
la ruta del script?
Respuesta1
Las variables de entorno nunca pueden propagarse "hacia arriba" desde un ejecutable externo al shell. Si es necesario configurarlos mediante un script csh, entoncestengo que source
ese script: oculta la 'fuente' detrás de un alias si lo deseas.
alias perc 'source $PERC_PATH/bin/runperc.csh'
Hay algunas alternativas, por ejemplo, hacer que las variables de entorno de salida del script sean stdout para que sean evaluadas por el padre, pero serían aún más detalladas y aún requerirían que ejecute el código directamente en el shell padre.