Hum, não, isso está errado. Você atribui algo à variável $response
e depois canaliza essa atribuição para zenity. Experimente
process | tee /tmp/response.txt | zenity --progress --pulsate --auto-close
response=$( cat /tmp/response.txt )
Dessa forma, a saída será armazenada no arquivo /tmp/response.txt
, que você poderá ler posteriormente em uma variável.