
Esto es lo que estoy intentando ahora
En PHP estoy ejecutando el siguiente script:
exec('/home/user1/createinstanceinfolder.sh', $output, $return_var);
print_r($output);
Que llama al siguiente script Bash:
declare -A arr == $(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM users")
for i in "${arr[@]}"
do
echo "$i"
done
PHP está imprimiendo una matriz vacía, ¿qué ocurre aquí?
Respuesta1
Fondo la sintaxis correcta es:
#!/bin/bash
set -f # disable globbing
IFS=$'\n' # set field separator to NL (only)
arr=($(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM users"))
for i in "${arr[@]}"
do
echo "$i"
done