2012-04-09 2 views
0

Я знаю, что Fortran 2003 содержит встроенную подпрограмму get_environment_variable, но я не могу заставить ее вернуть переменную, которую я хочу. Вот тестовая программа:Fortran get_environment_variable intrinsic возвращает ничего

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

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

Затем я т = 2010010100 (или что-то) в оболочке, компиляции и запуска, и единственное, что написано это пустая строка. Я не понимаю: я использую gfortran с флагом -std = f2003, это должно быть просто, что повесили трубку? Я подозреваю, что это довольно просто, и ответ разоблачит мое невежество .... но спасибо вам!

+0

Работы для меня. В какой среде вы работаете? – eriktous

+0

Я бегу bash. – Taylor

+0

, извините, не может быть вам. Я нахожусь в Windows, и он работает для меня в командной оболочке cmd, но если я попробую его в msys bash, я не могу заставить его работать. Не знаю, как это исправить. – eriktous

ответ

1

В bash вам необходимо экспортировать переменную окружения, иначе она не будет передана программе.

PS Вы делаете это, используя команду «export», например.

export t=2010010100 
+0

PS Вы делаете это с помощью команды «export», например. export t = 2010010100 –

+0

Вы можете отредактировать свой ответ, используя серую ссылку «редактировать» под ним. –