Есть и другой способ выполнить эту задачу.
В вашем скрипте bash2 вы можете применить перенаправление вывода, как показано ниже:
exec 3>&1 1>/dev/tty
Этот комнанд находится в началескрипт сохранит позицию stdout в файловом дескрипторе 3 и заставит stdout (fd 1) печататься на экране.
Затем вы можете вызвать из script2 переменные, которые вы хотите использовать для fd3, например, так::
echo "$BLAH" >&3
Таким образом вы можете получить из script1 выходные данные script2, используя
testvar="$(bash-two.sh)"
Тест:
cat sc1.sh
exec 3>&1 1>/dev/tty
echo "hello from sc1" #By default will be printed to >&1, redirected to /dev/tty=screen
sc1var="this comes from sc1"
echo "$sc1var" >&3
localvar=$(bash sc1.sh)
hello from sc1 #forced to be printed on /dev/tty
echo "$localvar"
this comes from sc1