tera term上怎么执行ttl 自动连接服务器

原标题:"tera term通过ttl脚本 自动连接服务器"的相关电脑教程资料分享。- 编程之家编辑整理。

在现在的这个公司一直使用tera term来远程连接服务器,感觉很方便,特别是它的ttl脚本配置的自动连接。有时候我们可能无法直接连接到目标服务器,需要通过ssh经过多个中间服务器才能连接到目标服务器。如果此时让我们在终端下一行一行命令的敲,实在是很烦的一件事情,我遇到过的最多的是中间经过三次服务器的ssh才连接到了目标服务器。虽然都是Ctrl+c 、Ctrl+v 。但是每天一上班就开好几个终端每次到这么一个一个敲很麻烦,而tera term的ttl脚本就帮助我们解决了这个问题。

Tera Term

这是一个类似于putty这样的一个远程连接的终端软件,通常就是那些ssh、ftp、sftp、scp的协议使用的浏览linux系统的远程连接软件(本人自己的体会,哈哈、、、)

这是一个日本人开发的软甲,小鬼子做的还是很不错的。网上找了找资料发现资料比较少,那共享一下我的理解。也用过一段时间的putty,但是没有发现putty有类似的功能。每次都要输入用户名,密码,然后ssh命令,然后又是密码,真是很烦!tera term的ttl脚本就帮助我们解决了问题

相关资料:

tera term 英文官网:http://www.teraterm.net/manual/en/

ttl 命令手册:http://www.teraterm.net/manual/en/macro/command/index.html

这里在贴一片博文(http://my.oschina.net/u/183789/blog/37469)

介绍几个常用的命令

a. 通过Tera Term连接PFC所在的机器以及断开连接

通过TTL的connect/disconnect命令实现

Connect:

connect '192.168.137.27 /ssh /auth=password /user=username /passwd= passwd'

注:其中username是用户名,passwd是密码

Disconnect:

  

注:disconnect后面指定参数,这样就不弹出确认框了。

b.    通过log记录全程操作过程,最终通过比对log确认测试结果。

通过logopen/logclose命令来写log 

logopen:

logopen filename 0 1 1

注:filename最好设成命令名,不通ttl脚本不要重复。也可以带执行的时间,

例如:Show_candidate_config_ 20110426-130939.log

    方法如下:

gettime timestr '%Y%m%d-%H%M%S'

getdir mdir

logclose :

           logclose

    

c.     测试项作成时可能用到的命令

Pause:(暂停)

 pause <time>Remarks:Pauses for <time> seconds. 

Sendln:(发送命令并换行)

sendln <data1> <data2>....

Remarks:Causes Tera Term to send characters followed by a new-line character to the host.             

Send:(发送命令)

send <data1> <data2>....

Remarks:Causes Tera Term to send characters to the host.

If <data> is a string,the string is sent to the host. 

If <data> is an integer,its lowest-order byte (0-255) is regarded as an ASCII code of the character,and the character is sent to the host.        例如:按Tab键的命令是send  #9           

wait:(等待匹配的字符串出现)  

wait <string1> [<string2> ...]

Remarks:Pauses until one of the character strings is received from the host,or until the timeout occurs. Maximum number of the strings is 10. 

     注:使用这个命令是需要设置timeout时间,命令的返回结果保存在resault变量中,当resault为时,则为超时。Timeout 设置命令如下:

          timeout=1  /*等号后面的值为整数,设为负则是无限等待*

waitln:(等待整行匹配的字符串出现)         

waitln <string1> [<string2> ...]

Remarks:Pauses until a line which contains one of the character strings is received from the host,or until the timeout occurs. Maximum number of the strings is 10.     

注意点同上     其他命令例如if,then,elseif,else,endif,goto等请参考help文件。 

脚本作成的注意点

a.    不同的ttl脚本内指定的Log文件名不能重复。

b.    脚本的最后部分请清空测试环境,以便下一个ttl脚本执行。

c.     在执行比较缓慢的地方,例如连接机器时,请追加pause命令

d.    脚本尽量写得简洁短小,以便式样发生变更时易于更改。

e.     必要的时候可以追加注释

使用例子:

1,在window下创建bat文件,

'C:Program Files eraterm tpmacro.exe' 'D:My KownhowTTL est.ttl'


exit

2,生产ttl脚本文件test.ttl

;###connect host


connect '172.28.92.23 /ssh /auth=password /user=root /passwd=password'

pause  1

;###create log

gettime logstr 'log-%Y%m%d-%H%M%S.txt'


getdir curdir


sprintf '%s%s' curdir logstr


filename = inputstr


logopen filename 0 1 1


logwrite 'Log start'#13#10

looptimes = 1 ; 


while looptimes < 11


 ;###run cmd 

 sendln 'ls -l'


 wait '#'


looptimes = looptimes + 1 


endwhile

;###closelog


Logclose

;###disconnect


disconnect 


closett

执行bat文件就可以运行ttl脚本了.

然后来看看我的ttl配置文件

;++++++++++++++++++++++++++++++++++++++++++++

; tera term 连接脚本

; 下面的是定义变量的方式

; 这里我们设置 主机名Host

; 用户user1

; 密码password1

;++++++++++++++++++++++++++++++++++++++++++++

Host = '192.***.***.***'

User1 = '*******'

Password1 = '******'

Ini = 'TERATERM.INI'

Prompt1 = '$'

PromptPW = 'suDyzVs83y'

Df = 'df'

; 设置一个字符Cmd为一个空字符串

; strconcat 是拼接字符串,我们可以看到下面进行了一系列的拼接,

; Cmd 最终的效果像这样:'192.***.***.*** /ssh /auth=password /user=username /passwd= passwd'

Cmd = ''

strconcat Cmd Host

strconcat Cmd ' /ssh /1 /auth=password'

strconcat Cmd ' /user='

strconcat Cmd User1

strconcat Cmd ' /passwd='

strconcat Cmd Password1

strconcat Cmd ' /f='

strconcat Cmd Ini

; connect 连接命令 (图 1)

; 也就是: connect '192.***.***.*** /ssh /auth=password /user=username /passwd= passwd'

connect Cmd

; wait (等待匹配的字符串出现) 图 2

; sendln (发送一行字符后换行)

; 等待bash出现的$符号

wait '$'

; 通过ssh连接

sendln 'ssh wangxb@***.***.***.***'

; 这里是等待要求输入密码的 ':'

wait ':'

; 输入密码

sendln '****'

; 登录成功切换到相应目录 图 3

wait '$'

sendln 'cd /home/***'

wait '$'

; 这里还是通过ssh连接到另外一台服务器,之所以上面要切换目录是因为这个目录项目有我们ssh连接时不使用密码登录要求的 私钥

; 如果有兴趣可以了解一下ssh 这个协议命令

sendln 'ssh -i ***_private.pem homepage@210.***.***.***'

; 下面的这几条语句也是等待匹配 ':' 来输入密码的

wait ':'

; 这里的密码是空的 图 4

sendln ''

wait ':'

sendln '*****'

; 切换root用户 图 5

wait '$'

sendln 'su -'

wait ':'

sendln '*****'

; 这里之所以等待 '#' 是因为我们上面切换到了root ,所以匹配 #

wait '#'

; 切换目录 图 6

sendln 'cd /var/www/www.****.jp.net'

;++++++++++++++ 总结 ++++++++++++++++++++++

; 当我们配置自动连接的 ttl脚本时,我们很难一次

; 弄正确,没关系,我们可以根据我们的实际情况,

; 首先连接到第一台服务器,然后其实很简单,只是

; 在我们平时需要切换到目标服务器的命令在这里用

; wait 和sendln 匹配就可以了,

; 我们不一定都是 wait '$' 这样根据我们到了这一

; 步,系统显示的是什么,是':' 那就 wait ':',

; 是 '#' 那就wait '#' 然后写上我们在命令行的

; 命令通过sendln,

; 当我们完成一部分ttl编写时,我们可以去试着连

; 接一下,看看是哪里出了问题,然后再来修改,这

; 样,一步一步就出来了

;++++++++++++++++++++++++++++++++++++++++++++

restoresetup Ini

我们平时可以用的的基本也就是这些简单的语法,更加复杂的大家可以去官网学习,下面贴出上面脚本执行的时序图,自行对应啊。

图 1

图 2

图 3

图 4

图 5

图 6

好吧,就简单这么做个记录,希望可以帮到别人!如果有什么不清楚的地方,欢迎提问,欢迎转载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


有系统u盘要网络吗(有系统u盘要网络吗怎么连接)想要重新系统/维护少不了PE系统,目前网络上PE系统选择也挺多的,但是有些会内置捆绑推广内容。所以今天给大家分享「CMDPE」这个支持网络功能的纯净PE系统、可以上
u盘识别盘符不能格式化(u盘无法识别需要格式化)因为重装系统的原因,很多时候我们要将U盘作为系统启动盘,但是事后我们想要将U盘格式化,却发现无论怎么格式化,U盘空间无法释放。今天为大家做一个U盘启动教程,以备后用。1.右键单击计算机,点击管理。打开管理界面
u盘错误无法读取(u盘错误无法读取文件)U盘无法读取?出现这种状况的原因太多了。但有一种状况是经常发生的,那就是U盘在自己的电脑里读不出来,但在桌面右下角又有U盘的图标,而在电脑里却怎么也找不着,这是怎么回事呢?如果你将
电脑f2启动相应系统(电脑f2启动相应系统错误)开机后出现如下图界面,无法进入系统。我们看最后两条:尝试按F1,可以进入了BIOS,而按F2却一直卡着,无法进入系统,一会之后又自动关机。其实这是某品牌主板的通病,特别是一些低端的主板。在我
win7直接启动(win7直接启动admin)一共三种启动方式,针对台式机[给力][给力]第一种“冷启动”,又称“加电启动”,需要经过硬件自检第二种“重新启动”,由于是开机状态下进行重启,所以不需要硬件自检第三种“复位启动”,类似“冷启动”,但不需要重新打开电源。按下主机上的“Reset”复位开关即可。这是水淼·帝国CMS站群文章更新器的试用版本更新的文章,故
近期有些win7用户反映说,自己的电脑使用过程中就出现了蓝屏0x0000007b错误,需要经常重启,面对这个问题,很多小伙伴都不知道应该怎么解决,那么今天编程之家小编就来和广大用户们分享三种解决方法,有需要的用户都可以进行尝试,希望本期win7教程带来的内容可以解答大伙的问题,接下来跟随小编的步伐一起来看看详细步骤。
win7系统提示已关闭无线功能未能修复怎么解决?最近有些小伙伴想要连接无线网络的时候,弹出了提示,随后wlan图标就会变成了红色,这个是因为我们相关的功能都已经关闭了,因此才会无法连接使用,那么要如何重新设置修复开启呢,今日的win7教程就为大伙带来两种解决方法,有需要的用户欢迎来编程之家查看详细方法吧。
我们在使用win10系统的时候会经常的使用到复制粘贴功能,但是也有不少的用户们遇到了win10复制粘贴快捷键失效怎么办?用户们可以打开任务管理器下的windows资源管理器来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下win10复制粘贴快捷键失效解决方法吧。
最近有些升级到win11系统的用户遇到了cpu锁频的情况,导致整体的使用变得不流畅,锁频很经常发生,每次都需要手动去调整才能够恢复,面对这个问题,很多人都不清楚该怎么解决,那么今日的win11教程就来为广大用户们进行解答,接下来让我们一起来看看具体的操作步骤吧。
我们有些win10系统用户,电脑没有了声音,通过检测,发现是声卡驱动出现了问题,想要安装新的驱动程序,我们就需要将旧的声卡驱动卸载,有些小白不知道怎么卸载重装,针对这个问题,今日的win10教程就来为广大用户们进行解答,希望今天本站分享的内容可以帮助大伙解决问题。
win11防火墙关闭后还是会拦截怎么办?有些小伙伴因为程序或者是文件被防火墙拦截,经常打不开,因此关闭了,可是关闭后还是会提示某些内容被拦截,出现这个问题可能是部分对应的服务功能没有关闭,所以还能够进行拦截,那么今天编程之家小编就来和大伙分享详细的解决方法,希望今日的win11教程可以帮助更多人解答问。
一些win11系统用户,明明声音已经开得很大了,可是整体还是比较小,这个问题我们可以设置增强音频,那么就可以很大程度的提升音量,不少小伙伴不知道该怎么操作,接下来本期的win11教程就来为广大用户们进行解答,一起来看看详细的操作步骤吧。
我们win10电脑中有一个系统保护,这个功能可以保护电脑不会受到病毒的攻击,但是同时也会将一些常用的程序或者是文件错误拦截,每次都需要添加白名单,因此不少小伙伴想要直接关闭系统保护,可是不知道设置方法,本期的win10教程就来和广大用户们分享设置方法,有兴趣的小伙伴随时欢迎来编程之家查看完整步骤吧。
win10系统提示shellappsfolder没有注册类怎么解决?在安装或者是运行某些程序的时候,就会出现这个提示,都是以失败告终,面对这个问题,很多人都不清楚应该用什么方法来进行解决,那么本期的win10教程就来为广大用户们进行解答,接下来让我们一起来看看详细的操作步骤吧。
win10本地账户无法删除怎么解决?我们在使用win10系统的时候会发现自己的本地账户不能删除的情况,那么用户们遇到这种情况要怎么解决?用户们可以直接的打开控制面板下来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下win10本地账户无法删除的解决方法吧。
我们在使用win11的时候会发现任务栏的高度有点高,对一些用户们来说感觉有点不美观,那么win11任务栏高度怎么缩小?用户们可以直接的点击开始菜单下的注册表编辑器,然后找到Advanced文件夹来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下windows11调整任务栏大小的方法吧。
win11打开文件夹一直转圈圈怎么办?我们在使用win11系统的时候有时候需要打开文件夹,但是也有不少的用户们在询问打开文件夹的时候一直在转圈圈,那么这要怎么办?用户们可以直接的找到计算机下的Shell Extensions文件夹来进行操作,下面就让本站来为用户们来仔细的介绍一下win11打开文件夹一直转圈圈详解吧。
我们在使用win11系统的时候有时候会需要使用到hyper-v选项,但是也有不少的用户们在询问win11没有hyper-v选项怎么办?用户们可以直接的新建一个文本文档,然后复制下面的代码来进行操作就可以了,下面就让本站来为用户们来仔细的介绍一下win11找不到hyper-v选项问题解析吧。
ROG 枪神6 Plus笔记本搭载了4芯90Wh锂离子电池,续航能力强大,可以满足用户长时间使用的需求,但是也有不少的用户们在询问ROG 枪神6 Plus笔记本怎么重装win7系统,下面就让本站来为用户们来仔细的介绍一下ROG 枪神6 Plus笔记本重装win7系统教程吧。
win10网页拦截设置怎么取消?我们在使用win10系统的时候会发现自己网页被拦截了,这就使得很多用户们发现都不能进入到网页里面,那么这是怎么回事?用户们可以直接的找到浏览器下的设置然后来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下win10网页拦截设置取消方法吧。