Chinaunix

标题: 使用Perl CGI编程时,使用system函数调用Linux命令的 问题 [打印本页]

作者: HumanPaladin    时间: 2007-11-23 13:55
标题: 使用Perl CGI编程时,使用system函数调用Linux命令的 问题
在使用Perl CGI编程时,使用system函数调用Linux命令时,需要回答该命令的提示才可进一步操作,请问这种问题该如何处理?谢谢。
作者: bernana    时间: 2007-11-23 13:59
标题: 回复 #1 HumanPaladin 的帖子
给个例子先。说不定能给予帮助。
作者: HumanPaladin    时间: 2007-11-23 14:12
好的。多谢。
是这样的:

我要调用mdadm --create --verbose /dev/md0 --level=5 --raid-device=2 /dev/sdb3 /dev/sdb5 --spare-devices=1 /dev/sdb7命令,该命令创建一个Raid,回车后系统提示:

........(省略)
Continue creating array?
此处需要输入 y后才可继续执行。

我正在编写一个CGI脚本调用该命令,负责调用该命令的语句为:
system "mdadm --ceate --verbose /dev/md0 --level=$raid_level --raid-devices=2 $f_device_name $s_device_name --spare-device=1 /dev/sdb7"(我还不知道这样调用对不对哈)
可是对于输入的y,不知道该如何处理。问题就是这样的,不知道说清楚没有?谢谢楼上的。
作者: redskywy    时间: 2007-12-13 20:05
用管道应该可以的打开这个命令后向这个管道里面写数据
open FPIP, "|mdadm --create --verbose /dev/md0 --level=5 --raid-device=2 /dev/sdb3 /dev/sdb5 --spare-devices=1 /dev/sdb7"

print FPIP "y\n";
close FPIP;
作者: orangetouch    时间: 2007-12-14 10:54
把y\n写进一个文件a.txt里,在调用的命令后面加上< a.txt
作者: ly5066113    时间: 2007-12-14 10:59
yes y | command




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2