原贴:http://if.ustc.edu.cn/~xbzhou/blog/archives/tcl_cn/l-tcl/l-tcl-2-1.html
目录
1. Tcl/Tk基础知识
2. Tcl语言
3. Tk命令
4. 开始认识Expect
1. Tcl/Tk基础知识
1.1 Tcl/Tk 的起源
Tcl 是“工具控制语言(Tool Control Language)”的缩写。Tk 是 Tcl“图形工具箱”的扩展,它提供各种标准的 GUI 接口项,以利于迅速进行高级应用程序开发。
John K. Ousterhout(见图像)于 1988 年开始开发 Tcl/Tk(读作“tickle tee-kay”),然后是加州大学伯克利分校(UCB)的一名教授继续对它进行开发。Tcl 是以可扩展性、短的学习曲线和易于嵌入为特定目标而设计的。Tk 的开发始于 1989 年,第一个版本于 1991 年问世。Ousterhout 博士在他离开 UCB 之后继续开发 Tcl/Tk,然后由于工作需要,他继续为 Sun Microsystems 公司工作。现在,也就是在写本文之时,他在 Scriptics(它开发出 Ajuba Solution,已由 Interwoven 收购)继续改进该语言,目前的稳定版本是 8.3.2,在写本文的时候,8.4 版本正在开发之中。
1.2 工具和文件在 Linux 系统上研究 Tcl/Tk,需要有两个主要程序。它们是 tclsh 和 wish。正如可以从其名称所辨别的那样,所以前者是 Tcl 外壳,常用于为外壳脚本提供执行环境。Wish 类似于 tclsh,它是针对窗口化的 GUI 环境。
输入下列命令,检查这些文件是否存在:
~/tcltk$ which tclsh
/usr/bin/tclsh
~/tcltk$ which wish
/usr/bin/wish
在下面的清单中,将会发现第一个很常见的示例程序,它是用 Tcl 实现的。这是一个完整的脚本:第一行命令调用 tclsh 环境,第二行命令执行实际工作。用您所选择的文本编辑器创建该脚本,输入 chmod +x hello.tcl
使之成为可执行文件,然后执行它以测试您这件“作品”。
~/tcltk$ cat hello.tcl
#!/usr/bin/tclsh
puts stdout {Hello, World!}
~/tcltk$ ./hello.tcl
Hello, World!
Tcl 和 Tk 是解释型的、可扩展脚本语言。与 BSD 许可证十分相似,该许可证允许在任何情况下自由使用该软件,只要在所有副本中保留该版权并且在任何分发中一字不差地传递通告。这个许可证条款使 Tcl/Tk 成为自由软件。
Tcl/Tk 是一种解释型环境。可以通过添加预编译的 C 函数来扩展 Tcl 解释器,可从 Tcl 环境内部调用 Tcl 解释器。可以为特定目的或一般的以及广泛使用的而定制这些扩展。我们将在教程的后面看一些扩展并着重看一下第一个扩展 — 非常流行的 Expect。
在接下来的几屏中,将回顾 Tcl 语言的一些主要特性,从元字符和全局变量到运算符、数学函数以及核心命令。毕竟,这些命令使 Tcl/Tk 成为有特色的,逐步发展的语言。请记住,在本教程中没有篇幅涉及每条命令。这里只突出一部分,以后您可以更进一步了解 Tcl/Tk。