在PHP中运行交互式Shell脚本

时间:2012-07-12 20:46:53

标签: php shell

我有一个在运行时需要输入的shell脚本。是否可以在exec()?

期间将输入回显到shell脚本中

正常shell中的IE: $ ./script.sh

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

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

1 个答案:

答案 0 :(得分:1)

我不确定你究竟要求哪一方,但无论如何我都会回答。

从PHP中,您可以从shell读取用户输入。可以使用readline()函数或仅使用流来完成。根据您使用的PHP版本和环境,它可以是php:// input或php:// stdin。你可以简单地对那些进行fopen()并像往常一样阅读。

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