Com ajuda considerável de Ricardo Rodrigues. Aqui está a solução que melhor se adapta ao que estou tentando alcançar. Se a primeira parte do código for bem sucedida, a segunda parte do código será executada. Se não obtiver êxito, uma janela de terminal será aberta informando onde encontrar detalhes dos erros. Se o segundo trecho de código for bem-sucedido, eu saberei com certeza que meu sistema foi submetido a backup localmente e também copiado para um sistema remoto e, em seguida, encerrado localmente. No entanto, se houver erros, ele abrirá uma janela de terminal e me informará onde encontrar os detalhes dos erros. Como você pode ver, desisti de tentar que tudo fosse exibido em uma única janela de terminal pop-up. Isso parece ser simples para mim. Agora, quando clico no ícone da área de trabalho, o sistema faz backup em um sistema local e remoto e, em seguida, desliga ou recebo uma mensagem de erro em um terminal pop-up.
#!/bin/bash
if bk_up 2> $HOME/local_errors # backup to local directory
then
if win_bkp 2> $HOME/remote_errors # backup to remote system
then
shutdown now
exit
else
echo "echo Remote errors. Check remote_errors file" > $HOME/warn2
chmod ugo+x $HOME/warn2 # needs to be executable for gnome-termial to work.
gnome-terminal -e "bash -c $HOME/warn2;bash"
exit
fi
else
echo "echo Local errors. Check local_errors file" > $HOME/warn1
chmod ugo+x $HOME/warn1 # need to be executable for gnome-terminal to work.
gnome-terminal -e "bash -c $HOME/warn1;bash"
exit
exit
fi