0

我的问题很简单。考虑下面的代码片段:

set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath log filename]
puts "------------- END OF SCRIPT ---------------------"

这会打印日志,然后是“------------- END OF SCRIPT ---------”。

set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
puts [exec $::cvsPath -n upd]
puts "------------- END OF SCRIPT ---------------------"

这个打印更新消息并退出。为什么?如何防止退出?

execPS退出的原因是cvs -n upd输入...

4

2 回答 2

2

可能是因为您让 csv.exe 引发错误。试着抓住它,

set cvsPath "C:/Program Files (x86)/cvsnt/cvs.exe"
if {[catch {puts [exec $::cvsPath -n upd]} result]} {puts $result}
puts "------------- END OF SCRIPT ---------------------"
于 2012-09-26T16:53:28.510 回答
0

cvs -qn upd而不是cvs -n upd作品!

以下也有效:

if {[catch {exec $::cvsPath -n upd} result]} {puts $result}
puts "------------- END OF SCRIPT ---------------------"

我应该提到 $result 包含更新消息,这仅意味着cvs -n upd引发错误。哪里cvs -qn upd不扔。

于 2012-09-26T16:51:24.963 回答