【问题标题】:IF and ! = ns2 error如果和! = ns2 错误
【发布时间】:2014-07-10 13:23:22
【问题描述】:

我对 tcl 文件中的路径有疑问。我尝试使用

source  " /tmp/mob.tcl " 

和 bash 文件中的这个路径:

/opt/ns-allinone-2.35/ns-2.35/indep-utils/cmu-scen-gen/setdest/setdest -v 1 -n $n -p 10 -M 64 -t 100 -x 250 -y 250 >> /tmp/mob.tcl

终端给我这个输出:

    ..."
    (procedure "source" line 8)
    invoked from within
"source  "/tmp/mob.tcl" "
    (file "mobilita_source.tcl" line 125)

我该怎么做?

【问题讨论】:

标签: tcl ns2


【解决方案1】:

首先,这个:

source  " /tmp/mob.tcl " 

不太可能是正确的。文件名周围的空格引号内 会混淆source 命令。 (这可能是正确的,但前提是您的当前目录中有一个名称为单个空格的目录。这真的不太可能,除非您比我更邪恶。)

如果你停止犯这个错误真的很有帮助。

其次,错误信息是两个

  • 不完整,第一行只有一个省略号而不是一个完整的错误
  • 真的很担心,source 声称是一个过程(该短跟踪的第二行)。

创建一个名为source 的程序是合法的,有时这是正确的做法,但如果你正在这样做,那么你必须非常小心地复制标准的 Tcl 命令或奇怪的事情会发生。

第三,你有一个显然是生成代码的文件,你在其中遇到了问题,你没有告诉我们第 125 行/周围是什么文件(前面的错误跟踪非常清楚)或source 过程的内容(这是非标准的;标准source 是用C 实现的),你期待我们猜测发生了什么你错了???认真的吗?


Tcl 错误跟踪通常非常清晰,可以让您找出问题所在和位置。如果有不清楚的错误,并且不是来自用户代码(通过调用errorreturn -code error),请告诉我们;我们将提供帮助(或者甚至可能更改 Tcl 以使事情在未来更清晰)。但是现在,完全缺乏信息。

这是一个正常的source 错误的示例:

% source /tmp/foo/bar/boo
couldn't read file "/tmp/foo/bar/boo": no such file or directory
% puts $errorInfo
couldn't read file "/tmp/foo/bar/boo": no such file or directory
    while executing
"source /tmp/foo/bar/boo"

如果脚本直接产生错误,我们鼓励它尽可能明确,但我们不能强制执行。有时候你自己也得做个侦探……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2019-09-04
    • 2018-03-21
    • 2014-06-19
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多