Сначала вы должны отладить ваш PHP-скрипт , чтобы получить действительное содержимое массива, код
print $associativeArray;
просто выдаст вам следующий вывод:
$ php test.php
Array
Вы можете просто напечатать ассоциативный массив в цикле foreach:
foreach ( $associativeArray as $key=>$val ){
echo "$key:$val\n";
}
предоставление списка имен переменных + содержимое, разделенное ':'
$ php test.php
BASE_PATH:1
db_host:2
db_name:3
db_user:4
db_pass:5
Что касается сценария оболочки , я предлагаю использовать простые и понятные конструкции оболочки , а затем перейти к более сложным (например, ${#result}
), чтобы использовать их правильно.
Я пробовал следующий скрипт bash, чтобы получить переменные из вывода скрипта PHP в скрипт оболочки:
# set the field separator for read comand
IFS=":"
# parse php script output by read command
php $PWD'/test.php' | while read -r key val; do
echo "$key = $val"
done