我有一个准备好的sh脚本来完成我想要的任务,这个sh脚本在执行后会显示一个菜单,例如:
Enter 1 to Select Menu 1 or 2 to select Menu 2
1. Menu 1
2. Menu 2
然后:
Enter a number to install X addon :
1. Addon 1
2. Addon 2
目前,我在我的PHP脚本中使用Sh脚本:
echo shell_exec('sh /etc/share/nginx/autoload-rev5.sh');
如何在不修改Sh脚本的情况下从PHP填充Sh脚本所需的值?有可能吗?
答案 0 :(得分:1)
您可以尝试使用expect - http://php.net/manual/en/expect.examples-usage.php
这与期望的Linux工具几乎相同,但您使用PHP进行编码
您可以在此处看到更多示例: http://php.net/manual/en/function.expect-expectl.php
基本上模式匹配shell输出和匹配,提交预定义的响应
答案 1 :(得分:1)
您可以使用proc_open功能执行此操作。 调用它来创建脚本的句柄(而不是使用shell_exec)然后解析它的输出并将你想要的内容写入其输入。