免费注册 查看新帖 |

Chinaunix

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

请教:怎样通过shell处理有提示的命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-28 14:32 |只看该作者 |倒序浏览
如果运行一条命令,提示
Okay to continue?
非要回车一下不可,这样不好写入shell程序中做自动处理,
怎样使shell发一个回车(或其它Y之类),程序可以继续运行?

论坛徽章:
0
2 [报告]
发表于 2007-02-28 14:36 |只看该作者
交互式的操作建议用expect

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2007-02-28 14:48 |只看该作者
如果你用bash, 则可以考虑用read,例如

  1. echo "Are you OK?";read -n 1;[[ $REPLY == [Yy] ]] && cmd1 || cmd2
复制代码


或者参考:
http://bbs.chinaunix.net/viewthread.php?tid=15832&highlight=%B0%B4%C8%CE%D2%E2%BC%FC%BC%CC%D0%F8

论坛徽章:
0
4 [报告]
发表于 2007-02-28 15:12 |只看该作者
谢谢两位。
如果用expect, 需要安装,而且在商业客户上安装比较麻烦。

现在的问题是, 我在shell中引入一个的程序A,这个A程序运行中会出现提示:
Okay to continue?

我的shell中需要给它一个回车,或Y

然后A才能继续运行,我才能根据A的输出做判断、处理。

按我所见,与烈火先生所述有所区别。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2007-02-28 15:18 |只看该作者
原帖由 liuzhy 于 2007-2-28 15:12 发表
谢谢两位。
如果用expect, 需要安装,而且在商业客户上安装比较麻烦。

现在的问题是, 我在shell中引入一个的程序A,这个A程序运行中会出现提示:
Okay to continue?

我的shell中需要给它一个回车,或Y
...

echo y|cmdA ???

论坛徽章:
0
6 [报告]
发表于 2007-02-28 15:30 |只看该作者
呵呵,可以了,非常感谢。

论坛徽章:
0
7 [报告]
发表于 2007-02-28 16:07 |只看该作者
怎么解决的,也不说下,嘛
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP