TCL脚本入门教程

上传人:灯火****19 文档编号:121070118 上传时间:2020-02-15 格式:PDF 页数:75 大小:604.69KB
返回 下载 相关 举报
TCL脚本入门教程_第1页
第1页 / 共75页
TCL脚本入门教程_第2页
第2页 / 共75页
TCL脚本入门教程_第3页
第3页 / 共75页
TCL脚本入门教程_第4页
第4页 / 共75页
TCL脚本入门教程_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《TCL脚本入门教程》由会员分享,可在线阅读,更多相关《TCL脚本入门教程(75页珍藏版)》请在金锄头文库上搜索。

1、 系统学习 TCL 脚本入门教程 版本 版本 1 0 作者 次作者 次 目目 录录 1 TCL语法语法 4 1 1 简介 4 1 2 运行环境 4 1 3 本文约定 4 1 4 参考资料 4 2 引言引言 5 2 1 第 1 课 简单文本输出 5 2 2 第 2 课 给变量赋值 5 2 3 第 3 课 命令的赋值与置换一 6 2 4 第 4 课 命令的赋值与置换二 7 2 5 第 5 课 命令的赋值与置换三 7 2 6 第 6 课 算数运算 8 2 7 第 7 课 文本比较 SWITCH应用 9 2 8 第 8 课 数值比较 IF应用 10 2 9 第 9 课 WHILE 循环 11 2 10

2、 第 10 课 FOR循环和INCR 11 2 11 第 11 课 过程PROC 12 2 12 第 12 课 过程PROC的参数定义 13 2 13 第 13 课 变量的作用域 13 2 14 第 14 课 LIST结构 14 2 15 第 15 课 LIST项的增删改 15 2 16 第 16 课 更多LIST相关 16 2 17 第 17 课 字符串函数 17 2 18 第 18 课 更多字符串函数 17 2 19 第 19 课 修改字符串函数 20 2 20 第 20 课 正则表达式 21 2 21 第 21 课 更多正则表达式 22 2 22 第 22 课 数组 24 2 23 第

3、23 课 更多数组相关 25 2 24 第 24 课 文件存取 28 2 25 第 25 课 文件信息 30 2 26 第 26 课 TCL中的子进程调用 OPEN 在命令后注释用 在行开头两者均可 2 puts 输出文本 多个单词如被空格或 TAB 分隔需要使用 或 括起来 3 多个命令写在一行使用 间隔 例子 002 puts tcl ok 正确 ok 正确 ok 正确 分号和井号之间可以有空格 puts Hello 正确 puts Hello World 正确 多个单词之间不是被空格或者 TAB 分隔开 puts Hello World 这行命令运行出错 被空格分隔 puts Hello

4、 World In quotes 注释 puts Hello World In Braces 这行命令运行出错 必须使用 作为注释符号 puts This is line 1 puts this is line 2 正确 用分号分隔两个命令 puts Hello World With a semicolon inside the quotes 正确 分号在双引号内 作为字符串一 部分 2 2 第第 2 课 给变量赋值课 给变量赋值 讲解 1 set 给变量赋值 格式为 set var value 例子 003 var tcl 给变量 X 赋一个字符串 set X This is a strin

5、g 给变量 Y 赋一个数字 set Y 1 24 显示 X 和 Y 的内容 puts X puts Y 打印一个分隔串 puts 打印在一行中 推荐使用双引号 set label The value in Y is puts label Y puts label Y 2 3 第第 3 课 命令的赋值与置换一课 命令的赋值与置换一 讲解 1 TCL 中命令的赋值分为置换和赋值两个步骤 2 续行符为 3 转义符同为 4 特殊字符列表 序号 字符 输出 十六进制 1 a 响铃 x07 2 b 回车 x08 3 f 清屏 x0c 4 n 换行 x0a 5 r 回车 x0d 6 t 制表符 x09 7

6、v 垂直制表符 Vertical Tab x0b 8 ddd 八进制值 d 0 7 9 xhh 十六进制值 h 0 9 A F a f 例子 004 eval tcl Show how a affects the set Z Albany set Z LABEL The Capitol of New York is puts Z LABEL Z 显示 Albany puts Z LABEL Z 显示 Z 被 转义 The next line needs a backslash to escape the puts nBen Franklin is on the 100 00 bill n换行

7、100前的 必须有 否则会将100作为一 个变量 提示出错 set a 100 00 puts Washington is not on the a bill This is not what you want puts Lincoln is not on the a bill 显示 100 说明是后结合的 先置换了 a 此处严格的写 应该写为 a puts Hamilton is not on the a bill 显示 a puts Ben Franklin is on the a bill 显示 100 说明是后结合的 先置换了 a 第 6 页 共 75 页 puts n example

8、s of escape strings puts Tab tTab tTab puts This string prints out non two lines 行中 没有打印出来 如果要打印出来 需要写 成 puts This string comes out on a single line 当一行太长 不便于阅读 使用 做续行符 2 4 第第 4 课 命令的赋值与置换二课 命令的赋值与置换二 讲解 1 最外层是 则不会进行置换操作 但其中的续行符仍然有效 例子 005 escape tcl set Z Albany set Z LABEL The Capitol of New York

9、is puts n examples of differences between and and前的双引号前必须有 进行转义 否 则这个双引号回和前面的双引号结合 导致成了 xxx and 的结构 会提示出错 puts Z LABEL Z 显示 The Capitol of New York is Albany puts Z LABEL Z 显示 Z LABEL Z 没有进行置换 中不会置换 puts n examples of differences in nesting and puts Z LABEL Z 最外层是双引号 所以进行了置换 puts Who said What this

10、country needs is a good Z cigar 最外层是花括号 所以没有进行置换 puts n examples of escape strings puts There are no substitutions done within braces n r x0a f v puts But the escaped newline at the end of a string is still evaluated as a space 续行符仍然生效 2 5 第第 5 课 命令的赋值与置换三课 命令的赋值与置换三 讲解 1 可以传递其中的命令结果 注意不能被 包含 2 双引号包

11、含的 中的命令可以正常执行 命令结果也可以传出 3 包含的 中的命令不会执行 更不会有命令结果传出来 例子 006 escape tcl set x abc puts A simple substitution x n 显示 abc 第 7 页 共 75 页 set y set x def 先执行 中的命令 将 def 赋值给 x 然后将该命令的结果赋值给 y puts Remember that set returns the new value of the variable X x Y y n 显示 x 和 y 都是 def set z set x This is a string wi

12、thin quotes within braces 由于在 中 所以并没有执行对 x 的赋值 只是将 赋值给 z puts Note the curly braces z n set a set x This is a string within braces within quotes 执行了对 x 的赋值操作 并将值传出来赋 给了 a puts See how the set is executed a puts x is x n set b set y This is a string within braces within quotes puts Note the escapes t

13、he bracket n b is b puts y is y 2 6 第第 6 课 算数运算课 算数运算 讲解 1 操作符 序号 操作符 解释 1 负号 正号 位操作非 逻辑非 2 乘 除 取模 3 加 减 4 循环右移 5 set Y 256 行末是否有分号都可以 set Z expr Y X 变量是否被双引号包含都可以 不过建议使用双引号 set Z expr Y X set Z LABEL Y plus X is puts Z LABEL Z puts The square root of Y is expr sqrt Y n puts Because of the precedenc

14、e rules 5 3 4 is expr 3 4 5 puts Because of the parentheses 5 3 4 is expr 5 3 4 puts n more examples of differences between and puts Z LABEL expr Y X 外层是花括号不会进行置换 puts Z LABEL expr Y X 外层是双引号会进行置换 puts The command to add two numbers is expr a b 2 7 第第 7 课 文本比较 课 文本比较 SWITCH 应用应用 讲解 1 switch 的分支中的命令使

15、用花括号包含 但是并不会影响花括号中的命令执行 切记 这是 switch 的格式 2 如果不想分支条件进行置换 需要在外加上花括号 不会影响分支中的命令执行 例子 008 switch tcl Set the variables we ll be comparing set x ONE set y 1 set z ONE This is legal switch x ONE puts ONE 1 TWO puts TWO 2 default puts NO MATCH 这种写法合法 但是阅读不便 switch x ONE puts ONE 1 TWO puts TWO 2 default pu

16、ts NO MATCH 这种写法好看一些 推荐 第 9 页 共 75 页 下面这种写法 z 被置换 走入 z 的条件分支 表面上看条件分支中的命令在花括号内 这只是 switch 的一种 格式 所以其中的命令仍然被执行了 switch x z set y1 expr y 1 puts MATCH z y z is y1 ONE set y1 expr y 1 puts MATCH ONE y one is y1 TWO set y1 expr y 2 puts MATCH TWO y two is y1 THREE set y1 expr y 3 puts MATCH THREE y three is y1 default puts x does not match any of these choices This form of the command disables variable substitution in the pattern 下面为了不置换 z 在外层加上了花括号 于是走入了 ONE 分支 而分支中的命令仍然被执行了 switch x z set y1 expr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号