从命令行获取TCL的版本?
我正在寻找一种非常直接的方法,从命令行获取安装在机器上的TCL版本。 对于大多数的编程语言来说,
languagename -v
提供我想要的信息。 这似乎不是tclsh
的选项。
TCL常见问题Q.B21build议
echo 'puts $tcl_version;exit 0' | tclsh
但是我想知道是否有更直接和跨平台的东西? (我怀疑这会在Microsoft操作系统上大失败。)
–
编辑:只是为了强调,我正在寻找可以直接从操作系统命令行执行的东西。 一旦你开始tclsh
,有各种信息可用,但我试图避免这一点,以减轻自动发现。
这听起来可能太简单了,但是如果你创build了一个包含以下命令的脚本文件:
puts $tcl_version
然后运行tclsh sillyscript.tcl,这将在所有平台上执行,假设二进制文件位于PATH中。 这当然不是花哨或浮华,甚至整洁,但它满足了AFAIK的要求。
====
我好奇,所以我试了一下,没有引号:
echo puts $tcl_version;exit 0 | tclsh
我的窗口框执行得很好…也许平台检测之前的TCL检测是一个选项?
你也可以这样做。
bash-3.2$ tclsh % puts $tcl_version 8.6 % info patchlevel 8.6.0
但我认为最好的方式是通过回声。
echo 'puts [info patchlevel];exit 0' | tclsh echo 'puts $tcl_version;exit 0' | tclsh
=======
奇怪,当我试图用报价它不适合我。 运行Mac OSX
取决于你的shell,它可能是:
tclsh <<< 'puts [info patchlevel]'