Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP填充Sh脚本值_Php_Linux_Bash_Shell - Fatal编程技术网

使用PHP填充Sh脚本值

使用PHP填充Sh脚本值,php,linux,bash,shell,Php,Linux,Bash,Shell,我有一个现成的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

我有一个现成的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脚本所需的值?可能吗?

您可以尝试使用expect-

这与expect Linux工具几乎相同,但您使用的是PHP编码

您可以在此处看到更多示例:

基本上,模式匹配shell输出,在匹配时,提交预定义的响应

您可以使用函数完成此操作。
调用它在脚本上创建句柄(而不是使用shell_exec),然后解析其输出并将所需内容写入其输入。

这取决于脚本如何读取脚本numbers@fedorqui脚本除了每个菜单选择的不同参数外,共有9个菜单,我只对你感兴趣2@Huey创建该文件的Devops不可用,我没有足够的经验修改整个sh文件以开始传递varst。这对我来说很有效,并使我能够更灵活地从PHP+1与shell文件通信