Я сделал следующее:
$ cat >/tmp/test.sh
echo '"tests - Blub" "tests - Blub - Abc"'
$ chmod +x /tmp/test.sh
$ /tmp/test.sh
"tests - Blub" "tests - Blub - Abc"
$ a=`/tmp/test.sh`
$ echo $a
"tests - Blub" "tests - Blub - Abc"
$ arr=($a)
$ echo $arr[1]
"tests[1]
Это говорит мне о том, что конструкция () игнорирует двойные кавычки после раскрытия переменных. Более того, когда я делаю
for i in $a; do echo $i; done
Я получаю похожий результат:
"tests
-
Blub"
"tests
-
Blub
-
Abc"
Похоже, кавычки обрабатываются до подстановки переменных и не рассматриваются снова.