即使使用env(LANG)
存在$env(LANG)
,也会抛出错误can't read "env(LANG)"
即使我将其用作
,它也不仅仅是$env(LANG)
if ("" ne $env(LANG) ) {}
它仍然会引发错误。
这是代码:
if {[info exists env(LANG)]} {
puts "exists"
} else {
puts "not found"
}
puts $env(LANG)
输出:
exists
ERROR: can't read "env(LANG)": no such variable
您能解释一下为什么会出现这样的错误吗?
答案 0 :(得分:1)
这里只是一个疯狂的猜测......你从全局或被调用的范围调用puts $ env(LANG)吗?
这应该有效
puts $env(LANG)
这不起作用
proc foo {} {
puts $env(LANG)
}
foo
但这应该有用
proc foo {} {
global env
puts $env(LANG)
}
foo
答案 1 :(得分:0)
方法ONE终端模式
1.打开终端
2.type tclsh
3.然后使用put $ env(LANG)
4.将打印en_US.UTF-8。
[ravi@cell041 ~]$ tclsh
% puts $env(LANG)
en_US.UTF-8
% puts $tcl_version
8.5
%
方法2来自文件
1.创建一个名为environment.tcl
的文件2.将代码添加到文件
#!/usr/bin/tclsh
puts $env(LANG)
3.使用tclsh environment.tcl运行此文件,您可以在终端看到输出。
方法3
1.创建一个名为environment.tcl
的文件2.将代码添加到文件
#!/usr/bin/tclsh
proc test {} {
global env
puts $env(LANG)
}
test
3.使用tclsh environment.tcl运行此文件,您可以在终端看到输出。
请输入以下命令检查系统中是否正确安装了tcl。
puts $tcl_version
如果没有工作,请检查终端中的parray env,看看是否存在LANG键。
% parray env
env(LANG)= en_US.UTF-8