在PHP中运行交互式Shell脚本

在PHP中运行交互式Shell脚本,php,shell,Php,Shell,我有一个shell脚本,在运行时需要输入。是否可以在exec()期间将输入回显到shell脚本中 普通外壳中的IE: $./script.sh 输入:你最喜欢什么颜色:[输入答案]红色 输出:您最喜欢的颜色是红色。我不确定您到底要哪一面,但无论如何我都会回答 从PHP中,您可以从shell读取用户输入。可以使用函数或简单地使用流来完成。根据您使用的PHP版本和环境,它可以是php://input 或php://stdin. 你可以简单地在上面写上fopen(),然后像往常一样阅读 如果要与正在调

我有一个shell脚本,在运行时需要输入。是否可以在exec()期间将输入回显到shell脚本中

普通外壳中的IE: $./script.sh

输入:你最喜欢什么颜色:[输入答案]红色


输出:您最喜欢的颜色是红色。

我不确定您到底要哪一面,但无论如何我都会回答

从PHP中,您可以从shell读取用户输入。可以使用函数或简单地使用流来完成。根据您使用的PHP版本和环境,它可以是php://input 或php://stdin. 你可以简单地在上面写上fopen(),然后像往常一样阅读


如果要与正在调用的shell脚本交互,则需要使用而不是exec。这是一个多一点的麻烦,但没有办法解决。该函数将为您提供单独的输入、输出和错误流,您可以根据需要读取它们以执行任务。

您真的想使用shell脚本执行此操作吗?shell脚本已经开发出来,用于测试外部硬件,需要按键才能进行下一次测试。我想我可以找到一种方法来解决这个问题,然而,我只是好奇这是否可能。我可能会将每个测试拆分成自己的脚本,然后输出结果。因此,与我最喜欢的颜色无关-sighproc_open听起来像我正在寻找的。我基本上希望能够运行shell脚本,查看输出,输入动态输入,重复。是的,这就是您需要的。如果可能的话,最好对shell函数使用参数,因为它更稳定,但在某些情况下,它不是一个选项。