Je suis un débutant avec des scripts shell et j'ai beaucoup appris aujourd'hui. Ceci est une extension à cette question Assigning values printed by PHP CLI to shell variablesManipuler un tableau (imprimé par php-cli) en script shell
J'ai obtenu la solution pour lire une variable dans mon script shell. Maintenant, comment manipuler un tableau? Si je prépare un tableau dans mon code PHP et l'imprime, et echo dans mon shell, il affiche Array. Comment accéder à ce tableau dans le script shell? J'ai essayé la solution donnée dans how to manipulate array in shell script
Avec le code suivant: -
code PHP
$neededConstants = array("BASE_PATH","db_host","db_name","db_user","db_pass");
$associativeArray = array();
foreach($neededConstants as $each)
{
$associativeArray[$each] = constant($each);
}
print $associativeArray;
Shell Code
function getConfigVals()
{
php $PWD'/developer.php'
}
cd ..
PROJECT_ROOT=$PWD
cd developer
# func1 parameters: a b
result=$(getConfigVals)
for((cnt=0;cnt<${#result};cnt++))
do
echo ${result[$cnt]}" - "$cnt
done
Je reçois cette sortie: -
Array - 0
- 1
- 2
- 3
- 4
Alors que je veux obtenir ceci: -
Array
BASE_PATH - /path/to/project
db_host - localhost
db_name - database
db_user - root
db_pass - root
Merci et +1 pour la suggestion d'utiliser d'abord des constructions de coque simples et compréhensibles, puis d'arriver à l'advan. ced ones –