Чтобы прочитать переменную среды оболочки в Tcl-скрипте, попробуйте сделать что-то вроде этого:
global env
set olddisplay $env(DISPLAY)
set env(DISPLAY) unix:0
Это можно выразить так же:
set olddisplay $::env(DISPLAY)
set ::env(DISPLAY) unix:0
и забудь про global
.
Вы можете проверить, существует ли переменная, выполнив что-то вроде:
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"
}
Это источник .