如果和! = ns2错误

时间:2014-07-10 13:23:22

标签: tcl ns2

我在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)

我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

首先,这个:

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"

如果脚本直接生成错误,则鼓励它尽可能清楚,但我们无法强制执行。有时候你必须自己成为一名侦探...