Window cmd에서 idl 배치 실행

게시판 IDL Q&A Window cmd에서 idl 배치 실행

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #5209 Reply
      sjlee
      회원

      안녕하세요, 윈도우 cmd 창에서 IDL을 배치 실행하려고 하는데요,
      cmd에서 ‘idl -e 파일 이름’ 하면
      특정 하부 procesure에서 “Varialbe is undefinced:**”가 뜨고 멈춥니다.

      그냥 idl 프로그램을 열어서 실행하면 정상적으로 돌아가는데, 왜 cmd에서는 안되는걸까요?

    • #5211 Reply
      mwkim
      회원

      안녕하세요,

      관련 내용만 가지고는 정확하게 파악하기는 어렵지만

      경로상의 문제가 아닐까 하는 추측은 해봅니다.

      일단 저 프로시저에서 정의되지 않았다는 것이 변수인지 아니면 프로시저나 함수인지요?

      프로시저나 함수라면 cmd에서 수행될 때,

      컴파일되는 목록에 포함되어있는지 확인이 필요할 것 같습니다.

      컴파일 목록에 빠져있으면 해당 프로시저나 함수를 찾지 못해 발생하는 오류인데 많은 경우에 경로의 문제로 발생됩니다.

      만약 정의되지 않은 것이 변수라면, 커맨드 창에서 실행할 때만 값이 들어오지 않는 다는 것인데…

      이 부분은 해당 변수의 정의에 필요한 값을 확인해나가면서 찾아가는 방법밖에 없을 것 같습니다.
      (확인할 때는 HELP 명령어를 통해 확인하면 수월합니다.)

    • #5223 Reply
      Sangwoo
      회원

      에러 메시지에서 “정의되지 않았다는(undefined)” 대상이 하부 프로시저의 이름인지 아니면 그 프로시저에 전달되는 인수인지에 대한 확인을 먼저 해주셔야 문제점에 대한 더 정확한 진단이 가능할 것 같습니다. 예를 들어 하부 프로시저가 다음과 같이 사용되는 방식일 경우,

      my_calc, a, b

      정의되지 않은 것으로 지적되는 대상이 my_calc인지 아니면 a나 b인지에 대한 확인이 먼저 필요하다는 의미입니다. 그리고 cmd에서 커맨드 라인으로 실행하기 전에, 메인 프로시저 파일이 있는 디렉토리로 먼저 이동을 한 상태였는지도 궁금합니다. 커맨드 라인으로 실행할 경우에는 작업 디렉토리로 먼저 이동을 한 상태여야 합니다. IDLDE에서는 작업 디렉토리 또는 현재 디렉토리를 셋팅할 수 있는 기능이 DE 인터페이스에서 제공되지만, 커맨드 라인 환경에서는 그런 것이 없거든요. 이런 부분에 대한 확인도 한번 해보시길 바랍니다.

2 답변 글타래를 보이고 있습니다
'Window cmd에서 idl 배치 실행'에 답변달기
글쓴이 정보: