본문 바로가기

Tcl에서는 info 명령이 다양한 서브 명령어들과 함께 사용되어 스크립트 실행 환경에 대한 정보를 제공합니다. 아래는 주요 info 서브 명령어들의 목록과 간단한 설명입니다:


info 명령의 주요 서브 명령어

  1. info vars
    • 현재 정의된 변수 목록을 반환합니다.
    • 특정 패턴을 지정하면 해당 패턴에 맞는 변수 이름만 반환됩니다.
    • 예:
      info vars
      info vars myVar*
  2. info commands
    • 현재 정의된 명령어(커맨드) 목록을 반환합니다.
    • 특정 패턴을 지정하면 해당 패턴에 맞는 명령어 이름만 반환됩니다.
    • 예:
      info commands
      info commands myCommand*
  3. info procs
    • 현재 정의된 프로시저(함수) 목록을 반환합니다.
    • 특정 패턴을 지정하면 해당 패턴에 맞는 프로시저만 반환됩니다.
    • 예:
      info procs
      info procs myProc*
  4. info globals
    • 현재 정의된 전역 변수 목록을 반환합니다.
    • 특정 패턴을 지정하면 해당 패턴에 맞는 전역 변수만 반환됩니다.
    • 예:
      info globals
      info globals globalVar*
  5. info locals
    • 현재 로컬 변수 목록을 반환합니다.
    • 특정 패턴을 지정하면 해당 패턴에 맞는 로컬 변수만 반환됩니다.
    • 예:
      info locals
      info locals localVar*
  6. info exists
    • 특정 변수가 정의되어 있는지 여부를 반환합니다.
    • 반환값: 1(존재) 또는 0(미존재).
    • 예:
      if {[info exists myVar]} {
          puts "Variable exists"
      }
  7. info nameofexecutable
    • 현재 실행 중인 Tcl 인터프리터의 실행 파일 경로를 반환합니다.
    • 예:
      puts [info nameofexecutable]
  8. info script
    • 현재 실행 중인 스크립트 파일의 파일명을 반환합니다.
    • 예:
      puts [info script]
  9. info level
    • 현재 실행 중인 스택의 레벨을 반환합니다.
    • 특정 스택 레벨의 정보도 확인할 수 있습니다.
    • 예:
      puts [info level]
      puts [info level 0]
  10. info args
    • 특정 프로시저의 매개변수 목록을 반환합니다.
    • 예:
      proc myProc {arg1 arg2} {}
      puts [info args myProc]
  11. info body
    • 특정 프로시저의 본문(코드)을 반환합니다.
    • 예:
      proc myProc {arg1 arg2} { puts $arg1 }
      puts [info body myProc]
  12. info default
    • 특정 프로시저 매개변수의 기본값을 반환합니다.
    • 예:
      proc myProc {arg1 {arg2 "default"}} {}
      puts [info default myProc arg2 defaultValue]
  13. info complete
    • 주어진 코드가 완전한 명령인지 확인합니다.
    • 반환값: 1(완전) 또는 0(불완전).
    • 예:
      puts [info complete "set a 1"]
      puts [info complete "if {1} {"]
  14. info hostname
    • 현재 시스템의 호스트명을 반환합니다.
    • 예:
      puts [info hostname]
  15. info patchlevel
    • 현재 Tcl 인터프리터의 버전 정보를 반환합니다.
    • 예:
      puts [info patchlevel]
  16. info tclversion
    • 현재 Tcl의 버전 번호를 반환합니다.
    • 예:
      puts [info tclversion]
  17. info library
    • Tcl 표준 라이브러리가 설치된 디렉토리 경로를 반환합니다.
    • 예:
      puts [info library]
  18. info loaded
    • 현재 인터프리터에 로드된 확장 모듈의 목록을 반환합니다.
    • 예:
      puts [info loaded]
  19. info timezone
    • 현재 시스템의 시간대 정보를 반환합니다.
    • 예:
      puts [info timezone]
  20. info channels
    • 현재 열린 I/O 채널 목록을 반환합니다.
    • 예:
      puts [info channels]

요약

Tcl의 info 명령은 다양한 실행 환경 정보를 확인할 수 있는 강력한 도구입니다. 주로 사용되는 info vars, info procs, info exists 외에도 환경, 실행 파일, 버전, 채널 정보 등 다양한 정보를 제공합니다. 필요에 따라 적합한 서브 명령어를 선택하여 사용하면 됩니다. 😊

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.