
これが私が今試していることです
PHP では次のスクリプトを実行しています:
exec('/home/user1/createinstanceinfolder.sh', $output, $return_var);
print_r($output);
これは次の 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 は空の配列を出力していますが、何が間違っているのでしょうか?
答え1
正しい構文は次のとおりです。
#!/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