shell能写出 用telnet方式远程登陆后再进行一些相关操作的 程序吗?

时间:2021-07-21 15:18:04
我的意思是:
这个用Ftp方式登陆的程序能很好的运行:
ftp -n $1 <<!
user $2 $3
cd $4
bin
get $5
close
bye
!

    那么,有没有类似的,基于Telnet方式登陆后还能自动执行一些操作的shell程序?怎么写?
    我尝试了一些,但是,我现在连自动登陆都解决不了,每次都必须手动输入用户名和密码。

我想问一下,有没有人解决这个问题,还是说由于 Telnet 的协议问题,导致那种程序是写不出来的?

11 个解决方案

#1


telnet所用的用户的目录下有一个.bash_profile的文件,就是一个shell文件,把这些命令加进去就可以!

#2


自动登陆:
   vi /etc/password 把你登陆的用户的第二个反斜杠后的字符删除就可以。

#3


我现在的情况是:
    有五十多个数据采集前端采集系统(在这些前端,我都只有一般用户权限),将采到的数据传到中心主机来处理。有时,采集前端的某些模块需要更新或更改,我希望能有一个shell程序,能在中心主机上telnet 到各个采集前端,然后自动执行一些操作。有些以ftp方式登陆后就能处理,但是有些操作必须用telnet 方式登陆来处理。
    由于我在采集前端上的权限是很有限的,因此楼上的说的可能不太现实。
    像我上面说的情况,怎么来处理呢?

#4


或者,有没有办法通过ftp方式登陆后,在采集前端上启动一个已经存在于采集机上的shell脚本程序。

#5


你可以查一下expact相关的资料,我想它能够满足你的需求

#6


建议使用expect,但也可以试试下面的方法:
先将命令写成教本,使用ftp自动上传到目标机器,然后使用ssh或rsh(先设置好不需密码登录)命令登录并执行上传的脚本。

#7


补充: ssh(rsh)本身就支持,在其后带一个命令的参数,把教本当命令对待就可以了!

#8


我也来听听,学习一下

#9


telnet必须是交互式的,所以,用简单的SHELL无法实现。

#10


但至少还可以实现,而最需要的su却不行

#11


已经解决了,今天来结贴。
用Expect就可以了。

具体细节这里就不说了。谢谢几位的指路。

#1


telnet所用的用户的目录下有一个.bash_profile的文件,就是一个shell文件,把这些命令加进去就可以!

#2


自动登陆:
   vi /etc/password 把你登陆的用户的第二个反斜杠后的字符删除就可以。

#3


我现在的情况是:
    有五十多个数据采集前端采集系统(在这些前端,我都只有一般用户权限),将采到的数据传到中心主机来处理。有时,采集前端的某些模块需要更新或更改,我希望能有一个shell程序,能在中心主机上telnet 到各个采集前端,然后自动执行一些操作。有些以ftp方式登陆后就能处理,但是有些操作必须用telnet 方式登陆来处理。
    由于我在采集前端上的权限是很有限的,因此楼上的说的可能不太现实。
    像我上面说的情况,怎么来处理呢?

#4


或者,有没有办法通过ftp方式登陆后,在采集前端上启动一个已经存在于采集机上的shell脚本程序。

#5


你可以查一下expact相关的资料,我想它能够满足你的需求

#6


建议使用expect,但也可以试试下面的方法:
先将命令写成教本,使用ftp自动上传到目标机器,然后使用ssh或rsh(先设置好不需密码登录)命令登录并执行上传的脚本。

#7


补充: ssh(rsh)本身就支持,在其后带一个命令的参数,把教本当命令对待就可以了!

#8


我也来听听,学习一下

#9


telnet必须是交互式的,所以,用简单的SHELL无法实现。

#10


但至少还可以实现,而最需要的su却不行

#11


已经解决了,今天来结贴。
用Expect就可以了。

具体细节这里就不说了。谢谢几位的指路。