在上一篇http://blog.csdn.net/msptop/archive/2008/03/31/2233187.aspx 中介绍了关于安全模式的解释器基本特性。然而这些特性太简单太原始,没有脚本库环境,使用起来需要构造大量的额外代码,才能正确执行所需功能。
本节将会介绍tcl提供的已经封装好的安全模式解释器The Safe Base。Safe Base是原始安全模式的扩展,在这种扩展模式下,可以在子解释器中执行脚本文件(source命令)和操作包(package 命令),但是这些操作需要主解释器的授权,它只能访问在主解释器中定义的路径下的文件。并且它也“覆盖”了exit命令。在这种模式下,若执行exit,则子解释器自行销毁并不会波及主程序。
Safe Base的有关命令如下表:
safe::interpCreate slave options? |
创建一个Safe Base模式名为slave的解释器 |