如何写tcl脚本?谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何写tcl脚本?谢谢相关的知识,希望对你有一定的参考价值。

麻烦问下,谁能告诉我tcl脚本语言里简单的模式 比如类似公式似的 谢谢了……

比如说设置一个变量,同时给其赋值:
set var1 10
tcl脚本中的注释,如果在行首,使用#注释内容;
如果在行尾,使用;#注释内容
打印字符串在屏幕上,使用
puts "要输出的内容"
还有对文件的操作,字符串的操作等,你最好下载一个tcl教程,如果有一些编程基础,看看差不多就行了,很简单的。
参考技术A 最基本的语法,set a 100 即给变量a赋值为100。
加qq群86235499,群共享里有相关的资料

如何从调用 bash 的 Tcl 脚本验证密码?

【中文标题】如何从调用 bash 的 Tcl 脚本验证密码?【英文标题】:How to authenticate passkey from a Tcl script calling bash? 【发布时间】:2011-03-02 06:11:23 【问题描述】:

我有一个 tcl 脚本,它从 bash 调用很多函数,包括 ssh。我正在努力的部分如下所示:

proc connect where 
    set bash c:/cygwin/bin/bash
    catch exec $bash -c "ssh $where" result
    puts $result

connect user@localhost

我收到身份验证失败消息:

Pseudo-terminal will not be allocated because stdin is not a terminal.
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).

我不知道如何提示(显示控制台或 tk 窗口,并不重要)用户输入密码,以便通过身份验证。

我使用 bash 到 ssh 的原因是因为最终我想用脚本连接到 github(需要提示输入密码)。

【问题讨论】:

添加 -t -t 到 ssh 摆脱了第一个错误,不幸的是 【参考方案1】:

试试这个:

puts -nonewline "enter your passphrase: "
flush stdout
gets stdin passphrase
exec $bash -c "ssh $where" << $passphrase

exec&lt;&lt; 参数将给定值传递给其标准输入上的命令

如果这不起作用,您将不得不尝试 Expect,或使用没有密码的密钥。

【讨论】:

期望 +1。除了非常简单的东西之外,它是一个很棒的 (Tcl) 库,用于“就好像脚本是用户一样”自动执行任务。【参考方案2】:

一个重要的替代方法(我建议)是设置一个本地密钥处理代理(例如,ssh-agentpageant)来保存解密的密钥,这样您的代码就根本不需要处理密码.我发现总体而言这是一种更简单的方法,因为它使许多代码不必了解有关密码的任何内容(正确处理密码比您想象的要难……)

【讨论】:

以上是关于如何写tcl脚本?谢谢的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Tcl 脚本访问第三方 DLL?

如何使用TCL脚本在嵌入式系统上测试C语言功能?

如何将脚本转换为 Tcl 语言的硬编码版本?

在Quartus中如何使用TCL脚本文件配制管脚

TCL脚本中如何把一个字符串按空格分割后放入一个列表

如何使用tcl线程作为进程间通信方式?