我有一个tcl脚本drakon_gen.tcl
。我正在运行它,从另一个脚本run.tcl
这样运行:
source "d:\\del 3\\drakon_editor1.22\\drakon_gen.tcl"
当我运行run.tcl
时,我有以下输出:
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
个选项。我试过很多方法,但收到错误。添加选项的正确方法是什么?
答案 0 :(得分:4)
将脚本导入tcl解释器时,您将在当前解释器的上下文中评估脚本文件。如果它被编写为独立程序,则可能会遇到全局命名空间中存在冲突的变量和过程的问题。避免这种情况的一种方法是调查奴隶口译员的使用(参见interp
命令),为子脚本提供单独的环境。
在您的具体示例中,您似乎只需要提供一些命令行参数。这些通常由argv
变量提供,该变量包含所有命令行参数的列表。如果在获取脚本之前定义此列表,则可以为其提供所需的命令行。例如:
set original_argv $argv
set argv [list "--optionname" "value"]
source $additional_script_filename
set argv $original_argv