Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

511
Vistas
MATLAB getenv no puede encontrar algunas variables de entorno de Linux

Tengo un problema menor: la solución es trivial, pero quería saber por qué existe el problema. Tengo algunas variables de entorno configuradas en .bashrc:

 export FREESURFER_HOME=/usr/local/freesurfer

En mi archivo startup.m, traté de establecer la variable:

 freesurfer_home=getenv('FREESURFER_HOME');

Sin embargo, esta llamada a getenv devuelve una matriz de caracteres vacía. Las llamadas a getenv dentro de MATLAB devuelven algunas variables de entorno (por ejemplo, getenv('HOME')) pero no otras. Puedo ver qué variables de entorno son visibles para MATLAB desde la siguiente línea:

 map = java.lang.System.getenv();

También puedo confirmar que los valores faltantes son visibles, al menos dentro del shell, usando cualquiera de

 export env printenv

¿Hay una explicación para esta discrepancia?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si verifica el árbol de procesos con el sistema y el comando ps f en Matlab, verá que en realidad inicia sh y ejecuta allí su comando. No tengo Matlab, lo mismo con Octave.

 octave:1> system("ps f") PID TTY STAT TIME COMMAND 2520 pts/0 Ss 0:00 bash 2580 pts/0 Sl+ 0:02 \_ octave 2885 pts/0 S+ 0:00 \_ sh -c ps f 2886 pts/0 R+ 0:00 \_ ps f ans = 0

En este caso, las variables configuradas en .bashrc están disponibles a través de getenv cuando ejecuto octave desde bash. Pero al iniciar Matlab desde el selector de menús, la situación es diferente:

 octave:1> system("ps f") PID TTY STAT TIME COMMAND 3400 pts/2 Ssl+ 0:01 /usr/bin/octave 3444 pts/2 S+ 0:00 \_ sh -c ps f 3445 pts/2 R+ 0:00 \_ ps f

bash no se ha ejecutado y las exportaciones desde .bashrc no están configuradas.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda