У меня есть функция foo, которая принимает один аргумент и получает результат по некоторым вычислениям.
foo(){
# do some calculation
sleep 10s
echo result
}
Мне нужно выполнить функцию несколько раз. Каждый раз выполнения занимает некоторое время и является независимым, поэтому я хочу сделать это параллельно.
result1=$(foo arg1)&
result2=$(foo arg2)&
result3=$(foo arg3)&
result4=$(foo arg4)&
Однако переменные результата остаются пустыми после вызова функции. Как правильно получить значение результата?