Вы можете попробовать использовать конструкцию eval
в BASH :
key="BASE_PATH"
value="/path/to/project/root"
# Assign $value to variable named "BASE_PATH"
eval ${key}="${value}"
# Now you have the variable named BASE_PATH you want
# This will get you output "/path/to/project/root"
echo $BASE_PATH
Затем просто используйте ее в цикле.
РЕДАКТИРОВАТЬ:этот цикл чтения создает вложенную оболочку , которая не позволит вам использовать их вне цикла.Вы можете реструктурировать цикл чтения так, чтобы не создавалась вложенная оболочка:
# get the PHP output to a variable
php_output=`php test.php`
# parse the variable in a loop without creating a sub-shell
IFS=":"
while read -r key val; do
eval ${key}="${val}"
done <<< "$php_output"
echo $BASE_PATH