Tcl & Tk/팁 (Tip)

메인 스크립트인지 판단하기

티클러 2025. 10. 28. 09:52

간혹 스크립틀 작성 후 테스트 코드를 작성할 때 메인 스크립트인지 아닌지를 판단해야 할 필요가 있습니다.

이러한 판단은 아래와 같이 가능합니다.

# a.tcl

if {[info exists argv0] && ([file tail [info script]] eq [file tail $argv0])} {
	puts "this is main script"
} else {
	puts "this is sub script"
}

source b.tcl
# b.tcl

if {[info exists argv0] && ([file tail [info script]] eq [file tail $argv0])} {
	puts "this is main script"
} else {
	puts "this is sub script"
}

실행을 해보면 a.tcl은 메인 스크립트로, b.tcl은 서브 스크립트로 판단이 잘 됨을 확인할 수 있습니다.

$ tclsh85 a.tcl
this is main script
this is sub script