Build 打印TCL脚本的输出有困难,该脚本通过REPO进行初始化和签出
我已经编写了TCL脚本来初始化并从google中检出最新的repo目录。但它不会在终端上打印任何内容。我试过打开 开放式: 当我有这个。。。而且效果很好Build 打印TCL脚本的输出有困难,该脚本通过REPO进行初始化和签出,build,automation,tcl,checkout,repository,Build,Automation,Tcl,Checkout,Repository,我已经编写了TCL脚本来初始化并从google中检出最新的repo目录。但它不会在终端上打印任何内容。我试过打开 开放式: 当我有这个。。。而且效果很好 if { [ catch { set ID [ open "|repo init -u *android_stuff* "] } cErr ] } { puts "Error initializing (${cErr})" } while { ![ eof ${ID}] } { gets ${ID} Line
if { [ catch { set ID [ open "|repo init -u *android_stuff* "] } cErr ] } {
puts "Error initializing (${cErr})" }
while { ![ eof ${ID}] } {
gets ${ID} Line
puts "Line: ${Line}" }
当类似地签出时…但这不会打印任何东西
if { [ catch { set ID [ open "|repo sync -j **"] } cErr ] } {
puts "Error checking out (${cErr})" }
while { ![ eof ${ID}] } {
gets ${ID} Line
puts "Line: ${Line}" }
我试图用exec实现它,但与open类似,我无法打印它 您应该将while循环放在else子句中:如果捕获到错误,则只打印一条消息并继续,就像$ID中有有效的内容一样
使用eof读取的一行太多:请参见它实际上是同步的吗?我想知道回购的行为到底是什么;事情可能会以各种方式出错,其中一些确实非常棘手。