У меня есть php script и bash script. Они находятся в одном каталоге. Я запускаю PHP скрипт из командной строки, которая передаст массив в bash script. Я пытаюсь сделать следующее:
- передать массив PHP в bash script
- получить пользовательский ввод от STDIN
- передать пользовательский ввод обратно в PHP script для дальнейшей обработки
Здесь мой php script:
<?php
$a=array("red","green","blue","yellow");
$string = '(' . implode(' ', $a) . ')'; // (red green blue yellow)
$user_response = shell_exec('./response.sh $string');
// do something with $user_response
?>
Предполагается, что bash script считывает массив из STDIN и запрашивает у пользователя выбор опции:
#!/bin/bash
options=$($1); # (red green blue yellow) but this isn't working
i=0;
echo "select an option";
for each in "${options[@]}"
do
echo "[$i] $each"
i=$((i+1))
done
echo;
read input;
echo "You picked option ${options[$input]}";
# here where I want to pass or export the input back to the
# PHP скрипт for further processing
Когда я запускаю php script, он не отображает параметры массива.