2012-04-09 2 views
0

Fortran 2003에는 내장 서브 루틴 get_environment_variable이 포함되어 있지만 원하는 변수를 반환 할 수 없습니다. 다음은 테스트 프로그램은 다음과 같습니다포트란 get_environment_variable 내장 함수는 아무 것도 반환하지 않습니다.

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

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

나는 다음 컴파일하고 실행 쉘에서 t = 2010010100 (또는 무언가)를 설정하고, 기록 된 유일한 것은 빈 줄입니다. 나는 이해하지 못한다 : 나는 깃발 -std = f2003과 함께 gfortran을 사용하고있다. 이것은 간단해야한다. 끊어진 것은 무엇인가? 나는 그것이 아주 간단하고 대답이 나의 무지를 폭로 할 것이라는 점을 의심한다 .... 그러나 어쨌든 당신을 감사하십시오!

+0

저에게 맞습니다. 어떤 환경에서 뛰고 있습니까? – eriktous

+0

나는 배시를 달리고있다. – Taylor

+0

죄송합니다, 거기 도와 드릴 수 없습니다. 나는 Windows에서 cmd shell에서 작동하지만 msys bash에서 시도해도 작동하지 않습니다. 그것을 고치는 방법을 모릅니다. – eriktous

답변

1

bash에서 환경 변수를 내 보내야합니다. 그렇지 않으면 프로그램에 전달되지 않습니다.

PS "export"명령을 사용하여이 작업을 수행합니다.

export t=2010010100 
+0

추신 : "내보내기"명령을 사용하여이 작업을 수행합니다 (예 : export t = 2010010100 –

+0

아래의 회색 "편집"링크를 사용하여 답변을 편집 할 수 있습니다. –

관련 문제