Variable D'environnement Bash dans TCL
Comment lire une variable d'environnement shell dans votre script Tcl. Donc n'importe qui s'il vous plaît aider moi. Je suis très nouveau dans TCL.
4 réponses
Utiliser $::env
pour accéder à n'importe quelle variable d'environnement par exemple pour accéder à la variable d'environnement TMP faites ceci:
set tmpdir $::env(TMP)
Plus d'info ici http://wiki.tcl.tk/1624
les variables D'environnement sont accessibles via la variable globale intégrée ::env). Vous utilisez ceci comme tout autre tableau Tcl.
Si vous souhaitez imprimer une liste de toutes les variables d'environnement que vous pouvez utiliser quelque chose comme ceci:
proc dump_env_vars {} {
foreach name [array names ::env] {
puts "$name == $::env($name)"
}
}
bien sûr, pour accéder à une seule variable que vous l'utiliser comme n'importe quel autre tableau, par exemple:
puts "HOME = '$::env(HOME)'"
pour plus d'information voir le page env sur le wiki de Tcler et la section env de la tclvars page de manuel de
pour lire une variable d'environnement shell dans le script Tcl, essayez de faire quelque chose comme ceci:
global env
set olddisplay $env(DISPLAY)
set env(DISPLAY) unix:0
ceci pourrait être exprimé aussi bien de cette façon:
set olddisplay $::env(DISPLAY)
set ::env(DISPLAY) unix:0
et oublier global
.
vous pouvez vérifier si la variable existe en faisant quelque chose comme:
if {[info exists env(VARNAME)]} {
# okay, it's there, use it
set value $env(VARNAME)
} else {
# the environment var isn't set, use a default
set value "the default value"
}
C'est source.