首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要使用来自另一个tcl脚本的选项来运行tcl脚本。

我需要使用来自另一个tcl脚本的选项来运行tcl脚本。
EN

Stack Overflow用户
提问于 2014-02-17 12:40:57
回答 1查看 895关注 0票数 2

我有一个tcl脚本drakon_gen.tcl。我正在运行它,从另一个像这样的脚本run.tcl

代码语言:javascript
复制
source "d:\\del 3\\drakon_editor1.22\\drakon_gen.tcl"

当我运行run.tcl时,我有以下输出:

代码语言:javascript
复制
This utility generates code from a .drn file.
Usage: tclsh8.5 drakon_gen.tcl <options>
Options:
-in <filename>          The input filename.
-out <dir>              The output directory. Optional.

现在,我需要在输出中添加run.tcl选项。我尝试了许多方法,但我收到了错误。添加选项的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-17 14:26:16

当您将脚本源到tcl解释器中时,您将在当前解释器的上下文中计算脚本文件。如果它是作为一个独立的程序编写的,那么您可能会在全局命名空间中遇到冲突变量和过程的问题。避免这种情况的一种方法是研究使用从解释器(请参阅interp命令)为子脚本提供单独的环境。

在您的具体示例中,您似乎只需要提供一些命令行参数。这些通常由argv变量提供,该变量包含所有命令行参数的列表。如果在获取脚本之前定义了此列表,则可以向它提供所需的命令行。例:

代码语言:javascript
复制
set original_argv $argv
set argv [list "--optionname" "value"]
source $additional_script_filename
set argv $original_argv
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21829409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档