Estou tentando desenvolver um aplicativo em bash
, que pode exibir o progresso dos logs do terminal na caixa de diálogo yad (Yet Another Dialog). Você pode considerá-lo como a instalação do windows , onde ele exibe todos os arquivos que foram instalados logo abaixo da barra de progresso . Eu referi este post para o meu trabalho, mas infelizmente não funcionou. Estou executando o script de instalação como usuário root.
Estou tentando isso nos últimos dias, mas não consegui sucesso. Eu tentei salvar o log em um arquivo de texto e depois copiá-lo de volta para a caixa de diálogo, mas a dint do processo deu certo. Alguém pode me apontar na direção certa. Agradecemos antecipadamente.
Aqui está meu código em bash
com captura de tela da saída.
yad --form --seperator='\n' --columns=2 --quoted-output \
--field="$MSP:FBTN" "bash -c sersoft" # from here I call the function sersoft
sersoft()
{
some_funct
if [ "$ret_val" == 3 ] || [ "$ret_val" == 4 ]; then
krel=$(uname -r | cut -b 1-10)
ufw disable
apt-get update -y
apt-get upgrade -y
apt-get -y install gcc g++ libpcap0.8-dev build-essential
# few more apt-get's and finally
apt-get -y update
apt-get -y upgrade
elif [ "$ret_val" == 5 ]; then
systemctl stop firewalld
systemctl disable firewalld
yum groupinstall "Development Tools"
# few more yum installs's and finally
yum -y update
yum -y upgrade
fi | tee response.txt | yad --progress --pulsate --auto-close
response=$( cat response.txt )
}
export -f sersoft