Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

519
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda