Tcl:无效的命令名称错误

时间:2011-03-07 17:11:11

标签: tcl ns2

我的tcl代码中有一行代码如下:

Application/BitTorrent set seqNo_ $opt(seqNo)

..我有一个OTcl类名“Application / BitTorrent”,我得到了这个错误......

invalid command name "Application/BitTorrent"
    while executing
"Application/BitTorrent set seqNo_ $opt(seqNo)"

任何人都可以告诉我错误的位置吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

我不愿意指出明显的那个,但错误正是消息所说的:在抛出错误时,没有名为“Application / BitTorrent”的命令。

这可能意味着以下三种情况之一:命令名称拼写错误,命令尚未创建或已被销毁,或者它存在但在当前上下文中不可见(例如,它存在于其他一些尚未导入的命名空间或包或文件。)

答案 1 :(得分:0)

除了Bryan Oakey指出的可能性之外,您可能正在针对您的脚本运行错误的/usr/bin/ns可执行副本。例如,您实际上可能正在使用/ns-all-in-one/bin/ns而不是编译了应用程序代码的type ns (通常为$PATH)。要检查bash下是否属于这种情况,请使用

hash -d ns

如果情况确实如此,那么在fwList中领先一个,则意味着bash中的命令哈希已过时。您可以使用$fwList删除旧缓存。