(1)Test1
很多人认为telnet象passwd和su一样,无法通过管道和输入转向使其自动工作,但实际上telnet是支持输入转向的.虽然,严格的说,shell脚本无法使telnet进入交互状态,但它确实可你使你进入远程系统并运行你希望的命令后退出.这远比用rsh(remsh,rcmd)更令人放心, 如果你要通过telnet某个IP的端口来得到部分数据,则可以用以下命令 (sleep 5;) | telnet IP PORT 这样就可以在telnet后将PORT在5秒内输出的数据打印到屏幕上,然后自动退出 EG:
(3)Test3 shell脚本:自动FTP和TELNET
默认分类
2008-12-25 20:37
阅读47 评论1
字号:
大
中
小
小
因为OCS有几套系统,每次导数据都要在几套系统上做一遍,都是重复的工作,因些写一个脚本自己在几套系统上执行相关的命令。已经成功执行。 程序中telnet and ftp 用到here document,这个要注意end limiter must start at left。 下面是脚本的主要框架:
#!/bin/bash ##################################################### CONFIG_FILE="auto.cfg"
#####################################################################
echo "start telnet ${REMOTE_HOST}......" #exec your command ) | telnet ${REMOTE_HOST} echo "exec finish......" #ftp put command and file
#ip= ftp -n $REMOTEHOST < #ftp put file only
#ip= ftp -n $REMOTEHOST < function usage function test_input }
##################################################
################################################################################ test_input
(4)Test4
thewintersun
#!/usr/bin/expect -f
set timeout 30 spawn telnet 127.0.0.1 4000 expect "command-line:" sleep .3 interact ----------------- ok,搞定,谢谢了:)
yangding58
####以下可以支持telnet多设备。
#!/bin/ksh user=xxxx passwd=xxxxxx ipaddress[0]="xx.xx.xx.xx" .. .. ipaddress[n]="xx.xx.xx.xx" for I in ${ipaddress[@]} do { { sleep 1 echo "$user" sleep 1 echo "$passwd" sleep 1 echo "cd /home" sleep 1 echo "mv test test.old;touch test.txt" sleep 1 } | telnet "$I" } done exit 0 |