1

我想使用 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

有可能吗?谢谢!

4

2 回答 2

1

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

我建议为此任务编写一个期望脚本。也许你可以适应这样的东西

于 2012-12-19T18:22:38.537 回答
1

至少在四个不同的论坛上同时提出了这个问题。不知道这种创业能赚多少分,但这里有答案链接:

于 2013-01-15T20:18:08.570 回答