01-Tcl基本知识

1 Tcl基本知识

1.1 Tcl是什么?

  • Tcl全称是Tool Command Language,是一种基于字符串的命令语言。
  • Tcl是一种解释性语言,类似于其他脚本语言一样,直接对每条语句顺次解释执行。
  • Tcl数据类型简单,对于Tcl来说,它要处理的数据结构只有字符串。Tcl将变量以字符串的形式进行存储。
  • Tcl的执行是交互式的,Tcl提供了交互式命令界面,tclsh和wish。tclsh只支持Tcl命令,wish支持Tcl和Tk命令。通过交互界面,可以像shell命令一样,逐条执行,并即时得到
  • Tcl/Tk与C/C++有良好的兼容性。Tcl/Tk脚本可以很好的集成到C/C++程序中

1.2 Linux执行Tcl脚本

  1. 脚本的第一行制定tcl脚本解释器
#!/usr/bin/tcsh
  1. 确保脚本可执行
chmod +x test.tcl
  1. 执行脚本
./test.tcl

1.3 Tcl命令格式

command arg1 arg2......
(命令 参数1 参数2)......
  • command是Tcl内建命令或者是Tcl过程。
  • 多条命令可以放在一行或者是多行,每条命令使用“;”进行分隔。
command1 arg1......;command2 arg2......
  • tcl中注释是以#进行表示的
    以下输出命令会在终端输出一段字符串:
puts "The next line contains an error"

# result
The next line contains an error
  • 如果字符串有空格的话,要使用“”或者是{}括起来。因为tcl中命令与参数之间是以空格进行分隔的。不同{}或者是“”括起来,容易发生错位。
{字符串}
“字符串”

1.4 Tcl脚本文件和source命令

处理在命令行窗口进行交互式的执行tcl命令之外,还可以将tcl命令放到一个后缀名为.tcl的脚本文件中,然后用Tcl的命令source进行执行。

source fileName

source命令从文件中读取Tcl命令来计算。

# el.tcl文件内容
puts "hello"

# 执行脚本文件
source el.tcl

# result
hello

1.5 可执行脚本文件(Executable File)

编写完tcl脚本文件中,可用source命令来运行该脚本。但是需要先启动tclsh。如果想要将tcl执行在当前shell,比如Unix和Linux的shell中,能够自动进行启动tclsh就会十分方便。所以在写脚本的时候可以将脚本写成可执行脚本。
编写可执行脚本文件,必须有Tcl启动脚本,进行调用tcl解释器以及完成初始化必要的变量。每个平台都有自己的启动脚本

  1. 在UNIX中,最普遍的编写可执行应用程序的方式是用“#!”机制。用它生成的启动脚本
#!/usr/bin/wish -f

这个启动脚本告诉Shell,用wish来执行剩余的脚本,用-f是支持3.6以下的Tk版本脚本。这种启动脚本需要提供wish或tclsh的绝对路径名,不利于移植于不同的机器上。因为不同的机器上,wish和tclsh的路径可能会有所不同
在用PATH和LD_LIBRARY_PATH制定wish/tclsh及其库的情况下,可以编写下面格式的启动脚本:

#!/bin/sh
# the next line restarts using wish \
exec wish8.0 "$0" "$@"

上面的脚本最后会将wish应用程序安装到用户目录下。第二行的\对于UNIX sh来说被认为是注释的一部分,但是对于tcl脚本来说,\表示下一行是注释的继续。

# 运行tcl脚本
./xxx.tcl

1.6 #!的解释

#!/bash/sh
  • 表示使用/bin/sh来解释执行脚本。#!表示特殊表示符,其后面跟的是解释此脚本的shell路径。
  • shell种类有很多:bash\csh\sh....
  • sh是shell中的一种,命令文件所在路径/bin/sh或者/usr/bin/sh
  • 还可以用其他脚本语言进行编程比如:/bin/csh、/bin/per、/bin/awk、/bin/sed、/bin/python、/bin/echo等。
  • 查看系统支持的shell
cat /etc/shells
  • 查看tcl安装路径
which tcl

原文链接: https://www.cnblogs.com/Icer-newer/p/17049946.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    01-Tcl基本知识

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/311821

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 下午12:09
下一篇 2023年2月16日 下午12:10

相关推荐