TCL无法扩展环境变量

时间:2016-12-19 11:41:49

标签: tcl

我有一个环境变量,在隔离使用时我可以毫无问题地访问

  

put" $ :: env(LIB)"

     
    

/家庭/ ASIC / lib中

  

但是当我尝试将其用作较长字符串的一部分时,env var返回一个空字符串!

  

put" $ :: env(LIB)/ add / path / to / target"

     
    

/添加/路径/到/目标

  

我在Linux系统上使用带有$ tcl_version = 8.5的Riviera Pro。它在Windows版本上运行良好。

如何访问env var? 我曾尝试重新分配到本地,但我仍然遇到同样的问题。在变量周围都没有{}。

2 个答案:

答案 0 :(得分:1)

不同行结束惯例的危险。

用于创建env变量的脚本是在Windows系统上创建的,当TCL解释变量时,它会在变量中看到控制字符。一旦推送到dos2unix,现在正确使用了变量。

答案 1 :(得分:0)

在标准Tcl中,代码写为应该可以工作; $…(…)变量表单不会被周围的"…"或尾随/…素材混淆。我不知道Riviera Pro可能会改变什么,但我认为这是可能的。

parray ::env报告什么?这应该打印所有环境变量及其内容。 (Windows和Linux与环境变量之间唯一真正的巨大区别是它们的名称在Linux上区分大小写,并且每个平台都倾向于设置不同的特征变量。)