exec 就是执行一条命令,更直白的理解就是:
如果在Linux的Shell中我们可以运行ls这条命令,但是在tcl环境中,运行ls是不成功,所以通过调用exec ls,就可以运行这条命令了
exec就是运行在shell或者 Windows的cmd窗口中可执行程序
eval优势是运行动态的命令:
在shell中启动 tclsh
% puts abc
% eval puts abc
两条执行的结果是一样的,体会不到eval的好处,因为我们写死了这条命令"puts abc"
如果想执行多条命令,命令是变化的,在 *.tcl 脚本中可以定义字符串变量,变量对应不同的命令,每次最后调用:
eval $cmd
就可以运行不同的命令,动态命令就是变化的命令