我正在寻找一种非常直接的方法来从命令行获取安装在机器上的TCL版本.对于大多数编程语言来说,都是如此
languagename -v
Run Code Online (Sandbox Code Playgroud)
提供我想要的信息.这似乎不是一个选择tclsh
.
echo 'puts $tcl_version;exit 0' | tclsh
Run Code Online (Sandbox Code Playgroud)
但我想知道是否还有更直接和跨平台的东西?(我怀疑这会在微软操作系统上失败.)
-
编辑:只是为了强调我正在寻找可以直接从操作系统命令行执行的东西.一旦你开始有各种各样的信息tclsh
,但我正试图避免这种情况来简化自动发现.
Nia*_*rne 42
这可能听起来过于简单,但如果您创建了包含命令的脚本文件:
puts $tcl_version
Run Code Online (Sandbox Code Playgroud)
然后运行tclsh sillyscript.tcl,它将在所有平台上执行,假设二进制文件在PATH中.它当然不是花哨的,华而不实的,甚至是整洁的,但它满足了AFAIK的要求.
====
我很好奇,所以我试了一下,没有引号:
echo puts $tcl_version;exit 0 | tclsh
Run Code Online (Sandbox Code Playgroud)
在我的windows box上执行得很好......也许在TCL检测之前进行平台检测是一种选择吗?
Dar*_*nja 24
你也可以这样做.
bash-3.2$ tclsh
% puts $tcl_version
8.6
% info patchlevel
8.6.0
Run Code Online (Sandbox Code Playgroud)
但我认为最好的方法是通过回声.
echo 'puts [info patchlevel];exit 0' | tclsh
echo 'puts $tcl_version;exit 0' | tclsh
Run Code Online (Sandbox Code Playgroud)
=======
奇怪的是,当我试着用引号它不适合我.运行Mac osx
根据您的shell,它可能是:
tclsh <<< 'puts [info patchlevel]'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
65472 次 |
最近记录: |