smart - tcl tv 32
Obtener la versión de TCL desde la línea de comandos? (3)
Dependiendo de tu shell, podría ser:
tclsh <<< ''puts [info patchlevel]''
Estoy buscando una forma muy sencilla de obtener la versión del TCL instalado en una máquina desde la línea de comandos. Para la mayoría de los lenguajes de programación, algo en la línea de
languagename -v
Proporciona la información que quiero. Esto no parece ser una opción para tclsh
.
La TCL FAQ Q.B21 sugiere
echo ''puts $tcl_version;exit 0'' | tclsh
¿Pero me pregunto si hay algo más sencillo y multiplataforma? (Sospecho que esto podría fallar mucho en un sistema operativo de Microsoft).
-
EDITAR: Solo para enfatizar que estoy buscando algo que pueda ejecutarse directamente desde la línea de comandos del sistema operativo. Hay todo tipo de información disponible una vez que inicie tclsh
, pero estoy tratando de evitar eso para facilitar el descubrimiento automatizado.
Esto puede parecer demasiado simplista, pero si creó un archivo de script que contenía los comandos:
puts $tcl_version
Y luego ejecutó tclsh sillyscript.tcl, que se ejecutaría en todas las plataformas, asumiendo que el binario está en PATH. Ciertamente no es lujoso ni llamativo, ni siquiera limpio, pero cumple con el requisito AFAIK.
====
Me puse curioso, así que lo probé y sin las comillas:
echo puts $tcl_version;exit 0 | tclsh
¿Se ejecuta correctamente en mi caja de Windows ... tal vez la detección de la plataforma antes de la detección de TCL es una opción?
También puedes hacer esto.
bash-3.2$ tclsh
% puts $tcl_version
8.6
% info patchlevel
8.6.0
Pero creo que la mejor manera es a través del eco.
echo ''puts [info patchlevel];exit 0'' | tclsh
echo ''puts $tcl_version;exit 0'' | tclsh
=======
raro cuando lo intenté sin las citas no me funcionó. corriendo Mac OSX