如何在telnet会话中运行脚本

时间:2012-12-19 18:10:06

标签: bash shell telnet

我想使用telnet连接到远程主机 没有用户名/密码验证 刚

telnet remotehost

然后我需要输入一些初始化命令

然后我需要重复以下命令:

cmd argument

参数是从本地文件中读取的,在这个文件中有很多行,每行都是一个参数 运行一个“cmd参数”后,远程主机将输出一些结果 它可以输出一行字符串“OK” 或输出许多行,其中一行是字符串“ERROR” 我需要根据结果做点什么。

基本上,脚本就像:

initialization_cmd  #some initial comands
while read line
do    
  cmd $line
  #here the remote host will output results, how can I put the results into a variable?
  # here I want to judge the results, like
  if $results contain "OK";then
       echo $line >>good_result_log
  else
       echo $line >> bad_result_log
  fi     
done < local_file

 the good_result_log and bad_result_log are local files
是不是可能?谢谢!

2 个答案:

答案 0 :(得分:1)

这不起作用,因为echo将输出到tty的stdout而不是telnet进程的stdin。

我建议为此任务编写expect脚本。也许你可以适应像this这样的东西。

答案 1 :(得分:1)

此问题至少在四个不同的论坛同时提出。不知道这种创业精神会带来什么样的积分,但这里有答案的链接: