Я пытаюсь написать bash script, который получит результат команды, которая работает в фоновом режиме. К сожалению, я не могу заставить его работать, переменная, которой я назначаю вывод, пуста - если я заменю назначение командой эха, все работает как ожидалось.
#!/bin/bash
function test {
echo "$1"
}
echo $(test "echo") &
wait
a=$(test "assignment") &
wait
echo $a
echo done
Этот код выводит результат:
echo
done
Изменение назначения на
a=`echo $(test "assignment") &`
работает, но кажется, что должен быть лучший способ сделать это.