2016-07-08 3 views
0

내 Konsole에서 tclsh으로 이동하여 동일한 코드를 실행할 수 있지만 tcl 스크립트를 사용하여 실행하려고하면 출력이 제공되지 않습니다.tcl 스크립트를 통해 동일한 tcl 코드를 실행할 수 없습니까?

나는 내가 tclsh을 통해 명령을 실행하면이

my name is dev my name is vaibhav

포함 name라는 이름의 파일을 가지고, 그것은 필요한 출력을 제공합니다.

명령 exec grep "dev" name이며, 출력은 my name is dev

입니다하지만 call.tcl 이름 TCL 스크립트를 통해 실행하면 아무런 출력을 제공하지 않습니다! 그 내용은 다음과 같습니다 : -

#! /usr/bin/tclsh 
exec grep "dev" name 

첫 번째 줄에 tclsh의 주소가 확인되었으며 파일이 있습니다. 나는 사용하고있다 redhat-release-5Client-5.5.0.2
도움이 될만한 것입니다.

감사
데브

답변

2

대화 형 tclsh를 사용 exec 명령의 결과가 반환됩니다 기본적으로 그들은 콘솔에 인쇄됩니다.

그러나 독립 실행 형 스크립트로 실행하면 puts 명령을 수동으로 사용하지 않으면 콘솔 (stdout)에 인쇄되지 않습니다.

puts [exec grep "dev" name] 

또한, 변수 사용 set 명령 또한

set result [exec grep "dev" name] 
puts $result 
+0

에 저장할 수 있습니다, 그것은 티클에서 그렙를 사용하는 실수는 보통입니다; Tcl은 파일 자체 검색에 능하며 grep을 사용하여 오류를 처리하여 예외를 찾아냅니다. –