Je cherche un moyen très simple d'installer la version du TCL sur une machine à partir de la ligne de commande. Pour la plupart des langages de programmation, quelque chose comme
languagename -v
fournit les informations que je veux. Cela ne semble pas être une option pour tclsh
.
TCL FAQ Q.B21 suggère
echo 'puts $tcl_version;exit 0' | tclsh
mais je me demande s'il y a quelque chose de plus simple et multiplateforme? (Je soupçonne que cela échouerait puissamment sur un système d'exploitation Microsoft.)
-
EDIT: Juste pour souligner que je recherche quelque chose qui peut être exécuté directement à partir de la ligne de commande du système d'exploitation. Il y a toutes sortes d'informations disponibles une fois que vous avez démarré tclsh
, mais j'essaie d'éviter cela pour faciliter la découverte automatisée.
Cela peut sembler trop simpliste, mais si vous avez créé un fichier de script contenant les commandes:
puts $tcl_version
Et puis exécuté tclsh sillyscript.tcl, qui s'exécuterait sur toutes les plates-formes, en supposant que le binaire est dans PATH. Ce n'est certainement pas chic ou flashy, ni même soigné, mais il satisfait à cette exigence AFAIK.
====
Je suis devenu curieux, alors je l'ai essayé et sans les guillemets:
echo puts $tcl_version;exit 0 | tclsh
S'exécute très bien sur ma boîte Windows ... peut-être que la détection de plateforme avant la détection TCL est une option?
vous pouvez le faire aussi.
bash-3.2$ tclsh
% puts $tcl_version
8.6
% info patchlevel
8.6.0
mais la meilleure façon, je pense, est par écho.
echo 'puts [info patchlevel];exit 0' | tclsh
echo 'puts $tcl_version;exit 0' | tclsh
=======
bizarre quand j'ai essayé sans les citations, cela n'a pas fonctionné pour moi. exécuter Mac osx
Selon votre Shell, cela peut être:
tclsh <<< 'puts [info patchlevel]'