交互式 TCL shell 在 cygwin 中没有显示输出



我在 cygwin 下以 TCL 模式运行 Vivado,并注意到我输入的某些命令没有得到任何输出。
据我所知,不返回任何内容的命令似乎是非内置命令或需要操作系统交互的命令。
请考虑以下示例:

$ vivado -mode tcl
puts HelloTcl
****** Vivado v2015.4.2 (64-bit)
  **** SW Build 1494164 on Fri Feb 26 04:18:56 MST 2016
  **** IP Build 1491208 on Wed Feb 24 03:25:39 MST 2016
    ** Copyright 1986-2015 Xilinx, Inc. All Rights Reserved.
HelloTcl
puts 2
2
expr 1 + 2
puts 5
5
help synth_design
read_vhdl
ERROR: [Common 17-163] Missing value for option 'files', please type 'read_vhdl -help' for usage info.
package require Tcl
pwd
exit
exit
INFO: [Common 17-206] Exiting Vivado at Fri Jul 14 13:44:28 2016...

没有返回预期输出的命令是 expr 1 + 2help synth_designpwd(可能还有package require Tcl)。
情况与"正常"tclsh 相同。谁能帮我了解这种行为的原因是什么?

我的操作系统是Win7 Pro 64位。一切正常与cmd或Powershell。在 Linux 下的终端中运行 Vivado 时,该行为也符合预期。

看起来 vivado 只在您明确要求时才写出值,这与标准的交互式 tclsh 不同,后者写出每个命令的结果(前提是它不是空字符串)。您需要编写显式puts […]

puts [expr 1 + 2]
puts [pwd]

只要你知道,我想这没什么大不了的。只是有点烦人。

最新更新