2015-05-12 4 views
1

У меня есть готовый ш скрипт, чтобы сделать некоторые задачи, которые я хочу, и это ш скрипт показывает меню после выполнения, например:значения сценария Заливка Sh с помощью PHP

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? Является ли это возможным ?

+1

это зависит от того, как ваш скрипт читает цифры – fedorqui

+0

добавить параметр? – Huey

+0

@fedorqui сценарий, за исключением различных параметров для каждого выбора меню, есть 9 меню, и меня интересует только 2 – Hamza

ответ

1

Вы можете попробовать использовать ожидать - http://php.net/manual/en/expect.examples-usage.php

Это почти так же, как ожидают инструмент Linux, но вы кодирования в PHP

Вы можете увидеть еще несколько примеров здесь: http://php.net/manual/en/function.expect-expectl.php

В принципе, вывод оболочки оболочки и согласование, отправьте предопределенный ответ

+0

Это сработало для меня и дало мне больше гибкости для связи с файлом оболочки с PHP +1 – Hamza

+0

счастлив помочь :) – edmondscommerce

1

Вы можете сделать это с помощью функции proc_open. Назовите его, чтобы создать дескриптор вашего скрипта (вместо использования shell_exec), затем проанализируйте его вывод и напишите, что хотите.