# Prints the string in a file
puts $chan stderr "$timestamp - Running test: $test"
# Prints the string on a console
puts "$timestamp - Running test: $test"
puts의 출력을 화면과 로그 파일에 동시에 보낼 수있는 방법이 있습니까? 현재 나는 이것을 달성하기 위해 위의 두 줄을 하나씩 차례대로 가지고 있습니다.tcl 스크립트에서 puts를 사용하여 콘솔과 파일에 동시에 문자열을 쓸 수 있습니까?
또는 tcl에 다른 해결책이 있습니까?
proc multiputs {args} {
if { [llength $args] == 0 } {
error "Usage: multiputs ?channel ...? string"
} elseif { [llength $args] == 1 } {
set channels stdout
} else {
set channels [lrange $args 0 end-1]
}
set str [lindex $args end]
foreach ch $channels {
puts $ch $str
}
}
예 :