Fortran get_environment_variable内在返回没有任何东西

Fortran get_environment_variable内在返回没有任何东西

问题描述:

我知道Fortran 2003包含内部子程序get_environment_variable,但我无法获得它返回我想要的变量。这是一个测试程序:Fortran get_environment_variable内在返回没有任何东西

program main 
    implicit none 
    character(len=10) :: time 

    call get_environment_variable("t", time) 
    write(6,*) time 
end program main 

然后我在shell设置T = 2010010100(或某事),编译和运行,写的仅仅是一个空行。我不明白:我正在使用带有flag -std = f2003的gfortran,这应该很简单,什么被挂断了?我怀疑这很简单,答案会暴露我的无知......但无论如何谢谢你!

+0

适合我。你在哪个环境中跑步? – eriktous 2012-04-09 15:13:03

+0

我正在运行bash。 – Taylor 2012-04-09 15:36:18

+0

对不起,帮不了你。我在Windows上,它在我的cmd shell中工作,但如果我在msys bash中尝试它,我也无法使它工作。不知道如何解决它。 – eriktous 2012-04-12 12:01:42

在bash中你需要导出环境变量,否则它不会被传递给程序。

您可以使用“导出”命令(例如,

export t=2010010100 
+0

PS使用“导出”命令执行此操作,例如导出t = 2010010100 – 2015-10-09 14:14:22

+0

您可以使用它下面的灰色“编辑”链接编辑您的答案。 – 2015-10-10 16:29:12