我有一个环境变量,在隔离使用时我可以毫无问题地访问
put" $ :: env(LIB)"
/家庭/ ASIC / lib中
但是当我尝试将其用作较长字符串的一部分时,env var返回一个空字符串!
put" $ :: env(LIB)/ add / path / to / target"
/添加/路径/到/目标
我在Linux系统上使用带有$ tcl_version = 8.5的Riviera Pro。它在Windows版本上运行良好。
如何访问env var? 我曾尝试重新分配到本地,但我仍然遇到同样的问题。在变量周围都没有{}。
答案 0 :(得分:1)
不同行结束惯例的危险。
用于创建env变量的脚本是在Windows系统上创建的,当TCL解释变量时,它会在变量中看到控制字符。一旦推送到dos2unix,现在正确使用了变量。
答案 1 :(得分:0)
在标准Tcl中,代码写为应该可以工作; $…(…)
变量表单不会被周围的"…"
或尾随/…
素材混淆。我不知道Riviera Pro可能会改变什么,但我认为这是可能的。
parray ::env
报告什么?这应该打印所有环境变量及其内容。 (Windows和Linux与环境变量之间唯一真正的巨大区别是它们的名称在Linux上区分大小写,并且每个平台都倾向于设置不同的特征变量。)