如何写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
的 <<
参数将给定值传递给其标准输入上的命令
如果这不起作用,您将不得不尝试 Expect,或使用没有密码的密钥。
【讨论】:
期望 +1。除了非常简单的东西之外,它是一个很棒的 (Tcl) 库,用于“就好像脚本是用户一样”自动执行任务。【参考方案2】:一个重要的替代方法(我建议)是设置一个本地密钥处理代理(例如,ssh-agent
或 pageant
)来保存解密的密钥,这样您的代码就根本不需要处理密码.我发现总体而言这是一种更简单的方法,因为它使许多代码不必了解有关密码的任何内容(正确处理密码比您想象的要难……)
【讨论】:
以上是关于如何写tcl脚本?谢谢的主要内容,如果未能解决你的问题,请参考以下文章