我有一个TCL脚本,有许多参数定义为参数.我打算创建一个作业文件,我可以使用不同的参数组合执行.tcl脚本,无需人工干预.
我的意思是:
作业文件(run.sh):
./main.tcl arg1 arg2 arg3 arg4
./main.tcl arg1 arg3 arg5
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够将run.sh中提到的每个运行的命令行参数数组"argv"作为数组传递到main.tcl脚本中,以便在执行之前在脚本中相应地设置选项.
有没有办法链接.sh脚本和.tcl脚本?
每个在线文档:
可以将数字传递到脚本并由脚本使用的方法如下.
argc argv argv0
所有Tcl脚本都可以访问三个预定义变量.$ argc - 传递给脚本的参数的数量项.$ argv - 参数列表.$ argv0 - 脚本的名称.
要使用参数,可以按如下方式重写脚本.
Run Code Online (Sandbox Code Playgroud)if { $argc != 2 } { puts "The add.tcl script requires two numbers to be inputed." puts "For example, tclsh add.tcl 2 5". puts "Please try again." } else { puts [expr [lindex $argv 0] + [lindex $argv 1]] }