2012-04-09 83 views
0

我知道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

回答

1

在bash中你需要導出環境變量,否則它不會被傳遞給程序。

您可以使用「導出」命令(例如,

export t=2010010100 
+0

PS使用「導出」命令執行此操作,例如導出t = 2010010100 – 2015-10-09 14:14:22

+0

您可以使用它下面的灰色「編輯」鏈接編輯您的答案。 – 2015-10-10 16:29:12

相關問題