Я написал этот маленький скрипт:
response=$(process ...) | zenity --progress --pulsate
echo $response
Я хочу прочитать ответ процесса, что бы это ни было, и показывать пульсирующий индикатор выполнения. Проблема в том, что я не читаю ответа в конце. Я думаю, потому что все результаты предыдущего процесса отправляются в zenity.
У меня была такая же проблема, и я не хотел создавать временный файл, поэтому мое решение было:
#!/bin/bash
FIFO=$(mktemp -u)
mkfifo $FIFO
(cat $FIFO | zenity --progress --pulsate --auto-close) &
response=$(process)
echo 'Bye bye' > $FIFO
rm -f $FIFO