免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1843 | 回复: 6
打印 上一主题 下一主题

请教一个Shell 进程问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-31 11:21 |只看该作者 |倒序浏览
我有一个脚本,是用来测试telnet 程序的,详细如下:
ip.txt内容如下:

192.168.1.2 80
192.168.1.5 3306
192.168.10 25
         .
      .


  1. #!/bin/bash
  2. var=`sed -n '1p' /root/ip.txt`
  3. echo "test $var"
  4. telnet $var > test 2>&1
  5. sed -i '1d' /root/ip.txt
复制代码



当我执行这个脚本时,telnet成功后就在那里不动了。导致sed -i '1d' /root/ip.txt这条指令无法执行。请问有什么办法来让telnet后回到可接受新的命令下,
意思是执行telnet $var > test 2>&1后就是
Trying 127.0.0.1...
Connected to Tieto (127.0.0.1).
Escape character is '^]'.
这样了,最后的那条指令就无法执行了,我在telnet $var > test 2>&1
加了exit 0 也不行

论坛徽章:
0
2 [报告]
发表于 2009-12-31 11:58 |只看该作者
(sleep 1;echo "quit";sleep 1)|(telnet smtp.163.com 25)

论坛徽章:
0
3 [报告]
发表于 2009-12-31 12:48 |只看该作者
你的问题虽然解决了挂在那里的问题,但是我重定向到的文本里多了很多无关的内容啊

论坛徽章:
0
4 [报告]
发表于 2009-12-31 13:05 |只看该作者
如果用tcl的话,可以设置一个timeout,还可以去expect。

论坛徽章:
0
5 [报告]
发表于 2009-12-31 17:56 |只看该作者
sleep 1;echo "quit"; 是什么意思?

论坛徽章:
0
6 [报告]
发表于 2009-12-31 17:59 |只看该作者
是休眠一秒吗? 为什么要1秒,可以写10....?

论坛徽章:
0
7 [报告]
发表于 2010-01-04 10:54 |只看该作者
沉底了哇
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP