欢迎来到天天文库
浏览记录
ID:36609486
大小:258.26 KB
页数:42页
时间:2019-05-09
《《cl脚本教程》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tcl入门培训119-Tcl-Overview.ppt1998/01/03文档结构Tcl介绍“HelloWorld”程序及扩展变量数据类型特殊字符数据结构控制结构程序结构语法要点对oracle操作ktcl文件一些建议后附我们为什么用Tcl?Tcl是什么?1、ToolCommandLanguage2、TerminalControlLanguageTcl是一种解释型的脚本语言。脚本解释器为tclsh,同时它也是一个shell环境。Tcl和C语言有着天然的亲缘关系,即相近的数据类型与控制结构;通过规范的API,能够比较方便的用C进行Tcl的扩展
2、开发。Tcl能做什么?1、Tcl首先是作为一种简单的命令脚本语言而发明,以便控制和调用各个系统命令。2、与C相似的数据类型与控制结构,使其具有处理高级事务的能力。3、强大的文本处理能力。4、扩展能力达到GUI、网络、OOP等各个方面。我们为什么用Tcl?1、确实好用,功能强大:从KAP加速引擎到html(ktcl)标签。2、快速学习、快速开发。老套一个著名的程序世界上最著名的程序是什么?猜一猜:是“HelloWorld!”,下面是tcl版的程序(设aiobs56>为Unix系统提示符)aiobs56>cathello.tcl#!/aito
3、ols/bin/tclshputs“HelloWorld!”aiobs56>hello.tclHelloWorld!aiobs56>shell方式以上是以程序的方式运行;tcl也可以运行于shell的形式(提示符%)aiobs56>tclsh%puts“HelloWorld!”HelloWorld!%exitaiobs56>老套(续)Tcl脚本程序的结构1、在第一行指定解释器#!/aitools/bin/tclsh或如下写法#!/bin/sh#thenextlinerestartsusingtclshexectclsh"$0""$@"2
4、、注释的标记为#如:#Thisisacommentsentence3、句与句(包括注释句)之间以“换行”或“;”分隔如:#Followingasentenceputs“line1”puts“line2”;#Anothercomment老套(续)puts命令看tcl的帮助,是这样说:puts向一个channel(相当于C里的句柄)写这里的channel可以是标准输出、一个打开的文件、一个打开的socket、甚至一个打开的Unix管道等等、等等。puts命令用法puts?-nonewline??channelId?string两个?表示之间的
5、内容为可选。如上文的puts“HelloWorld!”向“屏幕(标准输出)”写字符串,可以写成putsstdout“HelloWorld!”-nonewline是puts命令的一个option,它的意思是“输出内容后不换行”另一个老套第二著名的程序aiobs56>cathello2.tcl#!/aitools/bin/tclshputs-nonewline“Pleaseinputyourname:”setName[getsstdin];#Youcanwriteitas:getsstdinNameputs“Hello,$Name!”运行ai
6、obs56>hello2.tclPleaseinputyourname:MarkHelloMark!aiobs56>新的内容符号对“[]”gets命令set命令$符号另一个老套(续)新的内容在前一页,有一个语句:setName[getsstdin]符号对“[]”的意思是:执行里面的命令,用结果替换这个组合,类似于C语言中的函数调用。上文这个句子的含义是:把“getsstdin”的值赋给变量Name。gets的语法:getschannelId?varName?gets从一个channel取一个行到指定变量;同时它本身也返回这个行,所以get
7、s还有第二种用法:getsstdinName变量变量是程序的基础。变量:变量名、变量值变量名:任何字符串都可作为变量名,如下所示,皆可作变量名Name变量1“AVariable”甚至空格或一个“空”串也可以作为变量名。变量赋值:setNameMarksetLine“HelloWorld!”set变量名值与gets类似,命令set同时也返回值。引号的作用是让里面的内容为一个整体(因为中间有空格),其本身不是实际数据;如果要把引号作为数据引用,在其前面用转义符号变量(续)变量的值:变量的值以符号“$”加变量名来展开,如:$Name$变量1$
8、“AVariable”注意,在展开变量名之前必须保证此变量已被赋过值,否则在展开时会报错“nosuchvariable”。举例,请在一个tcl环境里逐一试试如下命令:%setNameMark%
此文档下载收益归作者所有