精华内容
下载资源
问答
  • 目录 第一章:TCL语 第二章:变量 第三章:表达式 第四章:List 第五章:控制流 第六章:过程 第七章:字符串操作 第八章:文件访问 第九章:错误和异常 第十章:深入TCL
  • 为了简化测试过程,我们可以把所有的配置命令放在一个文本文件中,然后使用测试脚本来执行这些命令。这里讲的脚本,就可以用来执行指定的命令文件。此脚本被上一篇中介绍的test.exp调用。在测试过程中,在具体测试某...

    在测试过程中,在具体测试某一个功能点时,往往需要为此进行大量的配置。为了简化测试过程,我们可以把所有的配置命令放在一个文本文件中,然后使用测试脚本来执行这些命令。这里讲的脚本,就可以用来执行指定的命令文件。此脚本被上一篇中介绍的test.exp调用。

    在测试过程中,在具体测试某一个功能点时,往往需要为此进行大量的配置。为了简化测试过程,我们可以把所有的配置命令放在一个文本文件中,然后使用测试脚本来执行这些命令。这样就不需要再手工进行配置了,费时费力。

    基于如上考虑,编写了下面的脚本tCmd.exp。这个脚本被我们前面介绍过的test.exp脚本调用。

    # $Id$

    # This file is used to execute specific commands list in a file

    proc execCmdFile {cmdFile} {

    global g_dbgFlag g_prompt

    # enable debug

    set g_dbgFlag 1

    # login

    set spawn_id [login $g_devip $g_user $g_passwd]

    if {$spawn_id == 0} {

    errLog "login $g_devip failed"

    return 0

    }

    # open cmdFile

    set cmdFd [open $cmdFile r]

    while true {

    # get a line

    if {![getLine $cmdFd line]} {

    dbgLog "reached eof"

    break

    }

    # split the line

    set ln [split $line ","]

    set cmd [string trim [lindex $ln 0]]

    set out [string trim [lindex $ln 1]]

    if {$cmd == ""} continue

    if {$out == ""} set out $g_prompt

    # send cmd line

    exp_send "$cmd\n"

    dbgLog "send $cmd"

    # expect output

    dbgLog "expect $out"

    expect {

    timeout {

    errLog "TIMEOUT: while exec \"$cmd\""

    continue

    }

    -ex "$out" {

    continue

    }

    } ;# end expect

    }

    # close cmdFile

    close $cmdFd

    }

    # if no cmdFile, use default

    if {$cmdFile == ""} {

    set cmdFile "cmdFile.txt"

    }

    execCmdFile $cmdFile

    有了这个脚本,我们可以使用"./test.exp -cinterface.txt cmd"来执行interface.txt中的命令

    展开全文
  • Tcl只有一种语法: command arg arg ....这种设计真的是非常好,简洁,快速!它和很多程序设计语言不一样,它没有关键词!譬如if, switch在Tcl中也是命令。初次体验Tcl的感觉是:利用Tcl来构建一些东西的时候,只做...

    Tcl只有一种语法: command arg arg ....

    这种设计真的是非常好,简洁,快速!

    它和很多程序设计语言不一样,它没有关键词!譬如if, switch在Tcl中也是命令。

    初次体验Tcl的感觉是:利用Tcl来构建一些东西的时候,只做两件事情:一,调用命令;二,直接给参数或者用替换的方法给参数。 仅有的一种语法在有了“可替换“这个特性后,果然强大了很多!可见,好的设计,真的是至简的设计。你无法再用更少的东西来达到相同的目的了。

    Tcl也是支持结构化的,比如c中的function,可以对应为Tcl中的proc(procedure的简称)。

    proc procName args... {

    main body

    }

    这样就相当于定义了一个procedure。其实,它还是个命令,这个命令做的事情的,当procName被调用时,执行mainbody.

    以下给出我初步试验的脚本和结果:

    #test tcl built-in commands

    puts "======================start=========================="

    #print "running" after 5 seconds

    puts "waiting for 1 second ..."

    after 1000

    puts "running ..."

    #append var(="Hello") with " " and "World!"

    set var {}

    append var "Hello" " " "World!"

    puts ${var}

    #test command 'for', 'if' and 'incr'

    #output the odd number between [1:10]

    for {set i 1} {$i <= 10} {incr i} {

    if {$i%2 != 0} {puts $i}

    }

    #command substitution

    set var [expr 1+2+3]

    puts $var

    #file

    puts [file attributes tmp.tcl]

    puts [file atime tmp.tcl]

    puts [file channels *err]

    puts [file dirname ~]

    puts [file dirname ~/Desktop]

    #file copy tmp.tcl commandtest.tcl

    set flag [file executable commandtest.tcl]

    if {$flag == 1} {

    puts "commandtest.tcl is executable"

    }

    if {$flag == 0} {

    puts "commandtest.tcl is not executable"

    }

    file mkdir testdir1 testdir2 testdir3

    puts [file normalize commandtest.tcl]

    puts [file separator]

    #test 'proc' and 'cd'

    proc mypwd args {

    return [file normalize ./]

    }

    puts [mypwd]

    set current_dir [file normalize ./]

    cd /home/chenqi/Desktop

    puts [mypwd]

    cd ${current_dir}

    puts [mypwd]

    #test pwd

    puts [pwd]

    #test 'file stat', 'array' and 'foreach'

    file stat commandtest.tcl var_stat_array

    foreach {field value} [array get var_stat_array] {

    puts "field: $field; value: $value"

    }

    puts $::tcl_platform(platform)

    #test 'switch'

    switch  $::tcl_platform(platform) {

    unix {

    puts "the platform is unix"

    }

    windows {

    puts "the platform is windows"

    }

    }

    #test 'exec'

    puts "executing 'uname -r' command"

    puts [exec uname -r]

    #test time

    puts [time {

    puts [exec find /home/chenqi/MyPro/CFiles/ -name *.c]

    }]

    puts "===================end================================="

    ======================start==========================

    waiting for 1 second ...

    running ...

    Hello World!

    1

    3

    5

    7

    9

    6

    -group root -owner root -permissions 00644

    1336199519

    stderr

    /

    ~

    commandtest.tcl is executable

    /home/chenqi/MyPro/ShellScript/tcl/commandtest.tcl

    /

    /home/chenqi/MyPro/ShellScript/tcl

    /home/chenqi/Desktop

    /home/chenqi/MyPro/ShellScript/tcl

    /home/chenqi/MyPro/ShellScript/tcl

    field: mtime; value: 1336203195

    field: atime; value: 1336203234

    field: gid; value: 0

    field: nlink; value: 1

    field: mode; value: 33261

    field: type; value: file

    field: ctime; value: 1336203195

    field: uid; value: 0

    field: ino; value: 2360375

    field: size; value: 1724

    field: dev; value: 2056

    unix

    the platform is unix

    executing 'uname -r' command

    2.6.32-21-generic

    /home/chenqi/MyPro/CFiles/temp/bufsiz.c

    /home/chenqi/MyPro/CFiles/Chapter-1/Hello.c

    /home/chenqi/MyPro/CFiles/POSIX_Threads/autobakup.c

    /home/chenqi/MyPro/CFiles/POSIX_Threads/thread1.c

    /home/chenqi/MyPro/CFiles/virtual_process/virt_proc.c

    /home/chenqi/MyPro/CFiles/virtual_process/test.c

    /home/chenqi/MyPro/CFiles/virtual_process/hash.c

    /home/chenqi/MyPro/CFiles/virtual_process/pid.c

    /home/chenqi/MyPro/CFiles/IPC/semaphores/cfunc.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/named_pipes/client.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/named_pipes/server.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/named_pipes/tmp/procB.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/named_pipes/tmp/procA.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/named_pipes/server_with_queue.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/pipes_as_stdio/pipe_as_stdout.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/pipes_as_stdio/pipe_as_stdin.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/unnamed_pipes/procB.c

    /home/chenqi/MyPro/CFiles/IPC/pipes/unnamed_pipes/procA.c

    /home/chenqi/MyPro/CFiles/IPC/signals/test.c

    /home/chenqi/MyPro/CFiles/IPC/signals/getpidbyname.c

    /home/chenqi/MyPro/CFiles/IPC/signals/test2.c

    /home/chenqi/MyPro/CFiles/programming-pearls/chapter1/qsort.c

    /home/chenqi/MyPro/CFiles/programming-pearls/chapter1/mergesort.c

    /home/chenqi/MyPro/CFiles/programming-pearls/chapter1/tmp/test.c

    /home/chenqi/MyPro/CFiles/programming-pearls/chapter1/bitmap_sort.c

    /home/chenqi/MyPro/CFiles/programming-pearls/chapter1/generate_random.c

    4776 microseconds per iteration

    ===================end=================================

    展开全文
  • 目录Linux 学习笔记TCL 脚本语言安装 Linux 学习笔记 TCL 脚本语言安装 tcl8.6.1-src.tar.gz 下载地址


    Linux 学习笔记


    TCL 脚本语言安装

    tcl8.6.1-src.tar.gz 下载地址

    下载完成 后 执行解压:tar -zxvf tcl8.6.1-src.tar.gz

    在这里插入图片描述

    • 复制文件夹到目标文件夹
      在这里插入图片描述
    • 删除不需要的文件夹及其文件夹内的文件

    在这里插入图片描述

    • 进入指定目录 执行 ./configure
      在这里插入图片描述

    执行 make 命令

    在这里插入图片描述

    执行 make install 命令

    在这里插入图片描述

    展开全文
  • 不方便UNIX/LINUX,所以直接下载windows版本,现在版本已经到8.5了; 下载链接: [url]http://www.activestate.com/Products/Download/Download.plex?id=ActiveTcl[/url] 然后直接点击安装就可以了~~ 2:bin下文件 ...

    首先安装环境,ActiveTcl8.3.4.1-9.win32-ix86.exe下载

    1:下载windows版本 
    不方便UNIX/LINUX,所以直接下载windows版本,现在版本已经到8.5了; 
    下载链接: 
    [url]http://www.activestate.com/Products/Download/Download.plex?id=ActiveTcl[/url] 
    然后直接点击安装就可以了~~ 
    2:bin下文件 
    tclsh85.exe: 
    wish85.exe:包含了tclsh 和 tk两部分 
    3:如何运行脚本-----终于知道怎么运行脚本了,这个从昨天一直闷倒今天才解决,笨就一个字~~~~ 
    生成一个简单的文本,比如test.tcl 
    package require Tcl 
    package require Tk 
    set a "aaaaa" 
    puts $a 
    然后运行bin目录下wish85.exe,在提示符下: 
    %source "目录名\\test.tcl"----记住,要用双斜线分割目录哦~~~    # #    source "C:\\Tcl\\script\\hello bitch.tcl" 
    回车就是运行结果了 

    4:添加新的package 
    终于知道bin目录下的teacup是干什么的~~~ 
    也终于知道why "package require Expect" doesn't work 
    用Dos命令: 

      C:\tcl\bin> teacup install Expect

    Resolving Expect ... [package Expect 5.43 win32-ix86 @ http://teapot.activestate
    .com]
    Resolving Tcl 8.4 -is package ... [package Tcl 8.5.8 _ ... Installed outside rep
    ository, probing dependencies]

    Retrieving package Expect 5.43 win32-ix86 ...@ http://teapot.activestate.com ...
    Ok

    Installing into C:/Tcl/lib/teapot

    Installing package Expect 5.43 win32-ix86

    C:\Tcl\bin>

    就可以安装Expect包了,重启wish后,就可以正常使用"package require Expect"了 
    安装运行搞定~~~~

    展开全文
  • 因为工作任务,需要写一个.../usr/local/ActiveTcl/bin/tclshset package [ exec tcpdump -i eth0 -c 2]puts $package# end在Linux环境下执行结果如下:root@Server:~/wendh/test# ./tt2.tcl15:35:27.343648 IP 11....
  • TCLLinux下如何执行

    万次阅读 2017-01-11 09:47:54
    你的linux装了tcl解释器了吗,一般是 /usr/bin/tclsh,如果确认你装了 (确认方法是在命令行下执行 tclsh),如果没问题,就在你的TCL脚本第一行加上 #!/usr/bin/env tclsh 然后确保你的脚本(假定脚本名字叫test....
  • Tcl Hello World Example: How To Write,Compile and Execute Tcl Programon Linux OS系统中编写、、编译和运行Tcl程序程序??实例::如何在Linux系统中编写Tcl Hello World 实例原文出处:点击这里by Ramesh ...
  • 有很多方法可以做到这一点,但其中一个更容易的是使用线程包的thread pooling(这需要一个线程Tcl,现在许多平台上的标准):package require Threadset pool [tpool::create -maxworkers 4]# The list of *scripts* to ...
  • 口令不正确//////////////////////////本文解释如何用Microsoft自带的adsutil.vbs来修改IISMetabase的设置方法,这里是通过调用BAT批处理的方法来实现的,灵活运用一下,可以用于InstallShield和其他地方fp=wscript....
  • Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以 ? 解释运行,其强大的功能和简单精妙的语法会使你感到由衷的喜悦 ? ,这片文章对Tcl有很好的描述和说明。极具可读性
  • Linux下对NS2项目的仿真分析全过程的代码(从tcl脚本-awk文本处理-gnuplot) 运行过程详见本人CSDN中的描述
  • 运行TCL脚本出现个错误

    千次阅读 2014-05-05 21:14:18
    运行clock format [clock seconds] -format "%Y%m%d"时出现了“”
  • VIVADO 之 TCL脚本工具 [上] (基本语法)

    万次阅读 多人点赞 2017-12-25 21:32:41
    TCL脚本语言 注:TCL在VIVADO中的具体使用将写在VIVADO 之 TCL脚本工具 [下]中,本文只有TCL语法 Tcl(Tool Command Language)是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,而且VIVADO也提供...
  • 1、Linux系统系,NS2的脚本文件可以存放在任何一个目录下; 2、cd 到脚本文件(.tcl文件)相应的目录下; 3、在terminal下,输入 ns *.tcl (*代表文件名),即可运行得到相应的.tr 和.nam 文件。 注意:可能会...
  • 脚本实现windows与linux之间文件的传输需求1.在Windows系统上的某个文件需要传送到Linux系统的设备上;2.因为自动化的要求不能人工操作,需要编写脚本,然后在程序中调用cmd命令执行这个脚本。下面总结一下这个...
  • ==简介 这是一个演示项目,展示了如何使用vivado tcl脚本来... 在Linux中,您必须在Xilinx安装目录中找到一个名为“ settings64.sh”或类似名称的脚本,然后运行“ vivado -mode tcl”。 在Windows中,开始菜单中有
  • 有时候还会用到另外一种开发方式:在Vivado Tcl Shell中使用Tcl命令的方式控制开发设计流程。使用Tcl的好处是每一个命令都有一个具体的操作,我们可以详细的控制设计过程中的每一步,设计更加灵活,也更有效率。通常...
  • tcl脚本中的命令解析

    2020-12-01 11:04:31
    问题1 exec是什么 ...如果在Linux的Shell中我们可以运行ls这条命令,但是在tcl环境中,运行ls是不成功,所以通过调用exec ls,就可以运行这条命令了 exec就是运行在shell或者 Windows的cmd窗口中可执行程序 ...
  • 随着嵌入式系统的迅速发展和广泛应用,嵌入式Linux以其强大的性能和开放性,越来越被开发人员所推崇。现在,各种基于Linux的嵌入式系统已被用于各行各业中。其中,人们对基于嵌入式实时Linux平台的开放性的数控系统展开...
  • 习惯了linux的指令操作,在使用windos总是不舒服,于是我们可以在windows上安装cygwin来运行linux上的shell脚本。 Cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。 Cygwin...
  • 笔者看代码喜欢一边单步一边看,觉得这样效率高点,所以在NS2中,我们也需要找寻一种debug工具,所以接下来...2.0tcl-debug-2.0下载地址:具体下载目录在 /2012年资料/6月/25日/NS2使用tcl脚本debug工具tcl-debug-...
  • expect脚本是Tcl脚本语言的拓展。用来实现自动的交互式任务,无需人为干预。在实际开发中,运行shell脚本有时候会输入linux密码或者是mysql密码等,而expect可以帮我们输入。 二、安装 expect在linux系统中没有自带...
  • 自动化部署脚本文件目录:运行主程序:./install.sh#!/bin/bashSCRIPTPATH=$(cd "$(dirname "$0")"; pwd)Install_log=$SCRIPTPATH/install_log.txtecho "***start install***" > $Install_logecho " workspace is...
  • 4、运行TCL脚本文件(do文件) 首先打开ActiveHDL软件,然后点击Tool->Execute macro ,如下图所示: 找到do文件所在的目录,选中,打开即可: 运行结果如下图所示: 5、参考阅读 5.1、ActiveHDL Online Help 5.2、...
  • synopsys的Tcl脚本语言学习笔记(2)

    千次阅读 2019-04-18 21:12:11
    Chapter 5 ...本章将讲解一些Tcl脚本文件,以说明怎样使用Tcl脚本文件和synopsys命令,以及在前些章节中讲解的topics. 从细节上对Tcl脚本文件进行讲解。 脚本文件中包含dc_rpt_cell进程和define_p...
  • Tcl/Tk脚本语言

    2013-08-08 09:44:32
    用于OpenSees数值分析的脚本语言 OpenSees:用于地震及岩土工程数值分析的有限元framework
  • 1.新建compile.tcl文件,假如FPGA顶层模块名为zynq_top_ps,其内容为: synth_design -top zynq_top_ps opt_design place_design route_design set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design] ...
  • linux上安装tcl、tk、expect1、tcl安装tcl8.5.9-src.tar.gzcd /tmptar -zxvf tcl8.5.9-src.tar.gzcd tcl8.5.9/unix/./configure --prefix=/usr/local/tcl/ --enable-sharedmakemake install/usr/local/tcl/bin/tclsh...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,919
精华内容 4,367
关键字:

linux运行tcl脚本

linux 订阅