Get the version of TCL from the command-line?

Tcl

Tcl Problem Overview


I'm looking for a very straight-forward way of getting the version of the TCL installed on a machine from the command-line. For most programming languages, something along the lines of

languagename -v

provides the information that I want. This does not seem to be an option for tclsh.

The TCL FAQ Q.B21 suggests

echo 'puts $tcl_version;exit 0' | tclsh

but I wonder if there is anything more straight-forward and cross-platform? (I suspect that this would fail mightily on a Microsoft Operating System.)

--

EDIT: Just to emphasize that I'm looking for something that can be executed directly from the operating system command-line. There's all kinds of information available once you start tclsh, but I'm trying to avoid that to ease automated discovery.

Tcl Solutions


Solution 1 - Tcl

This might sound too simplistic, but if you made a script file that contained the commands:

puts $tcl_version

And then ran tclsh sillyscript.tcl, that would execute on all platforms, assuming binary is in PATH. It certainly isn't fancy or flashy, or even neat, but it satisfies that requirement AFAIK.

====

I got curious, so I tried it and without the quotes:

echo puts $tcl_version;exit 0 | tclsh

Executes just fine on my windows box... maybe platform detection prior to the TCL detection is an option?

Solution 2 - Tcl

you can do this too.

bash-3.2$ tclsh
% puts $tcl_version
8.6
% info patchlevel
8.6.0

but the best way i think is through echo.

echo 'puts [info patchlevel];exit 0' | tclsh
echo 'puts $tcl_version;exit 0' | tclsh

=======

weird when i tried with out the quotes it didn't work for me. running Mac osx

Solution 3 - Tcl

Depending on your shell, it could be:

tclsh <<< 'puts [info patchlevel]'

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSimon Peter ChappellView Question on Stackoverflow
Solution 1 - TclNiall ByrneView Answer on Stackoverflow
Solution 2 - TclDarkninjaView Answer on Stackoverflow
Solution 3 - TclArĥimedeς ℳontegasppα ℭacilhαςView Answer on Stackoverflow