本文主要介绍tcl safe编写脚本的有关命令。
command | description | comment |
interp aliases slave | 列出slave中所有的别名 | |
interp alias slave cmd target? arg? ... | 若cmd后面的可选参数存在,则是定义一个命令别名;若不存在则返回该命令别名的定义 |
|
interp create -safe slave | 创建一个解释器,-safe选项创建一个原始安全解释器 | |
删除一个解释器 | ||
interp eval slave cmd args? ... | 在一个解释器中执行tcl命令 | interp eval slave exit |
判断是否存在指定的解释器,1存在,0不存在 | ||
暴露slave中隐藏的命令cmd | ||
隐藏slave中的命令cmd | ||
interp hidden slave | 返回slave中被隐藏的命令列表 | |
interp invokehidden slave cmd arg? ... | 在slave中调用被隐藏的命令 | |
如果slave中有-safe选项,则返回1,否则返回0 | ||
清除slave中的-safe选项 | ||
将master中的名为file的I/O描述符共享到slave中 | I/O引用计数加1 | |
将master中的名为file的I/O描述符传递到slave中 | I/O引用计数不变 | |
返回master解释器空间中所有的子解释器 | 只返回子解释器,并不返回孙解释器 | |
返回slave解释齐空间中别名cmd的目的解释器空间名 |
Safe Base相关命令
safe::interpCreate slave options? | 创建一个Safe Base模式名为slave的解释器 |
safe::interpInit slave options? | 初始化一个安全模式的解释器 |
safe::interpConfigure slave options? | 配置Safe Base模式的解释器,支持属性:-accessPath pathlist, -nostatics, -deleteHook script, -nestedLoadOk |
safe::interpDelete slave | 删除SafeBase模式的解释器slave |
safe::interpAddToAccessPath slave directory | 为slave添加授权访问路径 |
safe::interpFindInAccessPath slave path | 返回授权访问路径的符号(用于标识该路径) |
safe::setLogCmd cmd? arg?... | 若没有参数则返回所有在改解释器中执行过的命令与history类似,若有参数,则将该参数加入记录在解释器中执行过命令的log |
Safe Base中的命令别名:
source | 在授权访问路径中执行脚本 |
load | 在授权访问路径中导入二进制库 |
file | 只有dirname, join, extension, root, tail, pathname, and split 这些操作被允许 |
exit | 销毁调用 |