关于linux下cgi使用expect的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于linux下cgi使用expect的问题

2016-07-11 18:34:00 1807 1

我有一个程序 在终端下使用正常

我希望给它做一个html页面 因此html页面需要调用cgi脚本
我的cgi脚本是用shell写的 中间调用了expect的命令
因为我的程序其中一步需要输入密码
但是一直不能实现我的需求
脚本在中间会停住不动。。。(我不知道应该如何形容它)
屏幕显示是这样的

root@nicole-virtual-machine:/usr/local/apache/cgi-bin# ./decrypt
Content-type: text/html
spawn ./ibe decrypt 410909971@qq.com < 2.txt >3.txt
private key password: 2222
(暂停一会 程序自己就跳出来了 )
eofroot@nicole-virtual-machine:/usr/local/apache/cgi-bin# 

3.txt文件也没有生成。
下面是我的CGI脚本 恳请大神指导 谢谢!

#! /bin/bash
echo Content-type: text/html
echo ""
echo ""
eval /usr/local/apache/cgi-bin/proccgi.sh $*
cd /home/nicole/ibe
expect<<!
spawn ./ibe decrypt 410909971@qq.com < 2.txt >3.txt
expect "private key password:"
send "2222\r"
expect eof
send_user "eof"
!
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:54:35

    ./ibe decrypt程序,是从哪个设备获取private key password的?

    一种可能性是标准输入,由于已经<2.txt进行了重定向,那么只能从2.txt里去获取key。
    另外一种可能性是程序内部从/dev/tty读取,那么就需要expect把2222送到这个设备。在这种情况下,应该使用expect_tty和send_tty.

    PS,还需要考虑 ./ibe decryp把"private key password:"这条prompt送到tty还是送到stdout(已经>3.txt)
    建议在server端用ps先确认,是停在bash脚本里,还是停在expect脚本里。

    0 0
相关问答

2

回答

linux系统&nbsp;&nbsp;wdcp面板&nbsp;&nbsp;怎么启用gzip压缩

2015-05-25 10:19:52 5369浏览量 回答数 2

0

回答

Linux系统下MySQL数据库导出与导入操作

2011-12-30 07:09:22 8682浏览量 回答数 0

0

回答

Linux系统下授权MySQL账户访问指定数据库

2011-12-30 07:10:13 9725浏览量 回答数 0

0

回答

Linux系统下使用tar压缩时排除某个目录或文件

2011-12-30 07:21:52 5320浏览量 回答数 0

0

回答

Linux系统下禁止apache空主机头

2011-12-30 07:22:33 10472浏览量 回答数 0

7

回答

【入门教程系列】Linux系统apache环境设置伪静态(适用于新手初级站长)

2011-10-29 14:58:55 16886浏览量 回答数 7

3

回答

我购买Linux系统的社区云套餐不会设置,谁能帮我

2011-10-04 09:07:53 7047浏览量 回答数 3

5

回答

请教个问题,LINUX系统apache如何支持中文代码?

2011-09-27 17:51:46 9036浏览量 回答数 5

31

回答

【入门教程系列】Linux系统建站完整教程(适用于新手初级站长)

2011-09-26 16:53:51 49491浏览量 回答数 31

8

回答

服务器打算用Linux系统,不知道那个版本的好用?

2011-08-31 12:17:47 8408浏览量 回答数 8
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载