Trazer resultado de comando em Dialog no Shell Script [RESOLVIDO]

1. Trazer resultado de comando em Dialog no Shell Script [RESOLVIDO]

Walker Luiz de Freitas
WalkerPR

(usa Deepin)

Enviado em 27/04/2016 - 15:14h

Olá a todos!

Mudamos o nosso servidor Debian antigo para o Debian Jessie e tenho um script, o qual precisei atualizar uma linha e agora esta não está trazendo o retorno esperado.

Meu script era assim (ver abaixo linha em negrito a qual sofreu alteração):

#!/bin/bash

# Shell Script Professional / by Ayrelio Marinho Jargas
# Editora Novatec - edição de Abril/2008
# Capítulo 11 - Interfaces amigáveis com Dialog
# Págins 246, tópico: Domine o Dialog
# Página WEB: http://aurelio.net/shell/
#

while : ; do

opcao=$(
dialog --stdout \
--title 'Menu do usuario Pierre' \
--menu 'Escolha o processo a executar:' \
0 0 0 \
1 'Reiniciar o Apache' \
2 'LOG andamento backup' \
3 'Iniciar o backup Seagate' \
4 'Encerrar Sessao Usuario' )

[ $? -ne 0 ] && break

case "$opcao" in
1) /etc/init.d/service apache2 restart & ;;
2)
dialog \
--title 'Status do Backup' \
--textbox /var/log/processos/Report_Backup_Seagate.log \
0 0
;;
3)
acao=
dialog --yesno 'Fazer Backup Seagate ?' 0 0;
if [ $? = 0 ]; then
acao='/srv/scripts/VerificaSeagate.sh'
fi
$acao
;;
4)
acao=
dialog --yesno 'Deseja sair do Menu ?' 0 0;
if [ $? = 0 ]; then
acao='exit'
fi
$acao
;;
0) break ;;
esac
clear
opcao=

done
clear


Agora abaixo, o script com a modificação:


#!/bin/bash

# Shell Script Professional / by Ayrelio Marinho Jargas
# Editora Novatec - edição de Abril/2008
# Capítulo 11 - Interfaces amigáveis com Dialog
# Págins 246, tópico: Domine o Dialog
# Página WEB: http://aurelio.net/shell/
#

while : ; do

opcao=$(
dialog --stdout \
--title 'Menu do usuario Pierre' \
--menu 'Escolha o processo a executar:' \
0 0 0 \
1 'Reiniciar o Apache' \
2 'LOG andamento backup' \
3 'Iniciar o backup Seagate' \
4 'Encerrar Sessao Usuario' )

[ $? -ne 0 ] && break

case "$opcao" in

1)
dialog
--title 'Status do Servico WEB' \
--msgbox systemctl status nginx \
0 0
;;

2)
dialog \
--title 'Status do Backup' \
--textbox /var/log/processos/Report_Backup_Seagate.log \
0 0
;;
3)
acao=
dialog --yesno 'Fazer Backup Seagate ?' 0 0;
if [ $? = 0 ]; then
acao='/srv/scripts/VerificaSeagate.sh'
fi
$acao
;;
4)
acao=
dialog --yesno 'Deseja sair do Menu ?' 0 0;
if [ $? = 0 ]; then
acao='exit'
fi
$acao
;;
0) break ;;
esac
clear
opcao=

done
clear


O Debian Jessie, para reiniciar o serviço, agora trata-se de nova ferramenta. Eu gostaria de trazer o resultado na tela, mas o comando não dá retorno.

Alguém poderia ajudar?!


  


2. Re: Trazer resultado de comando em Dialog no Shell Script

Gustavo Valério
GustavoValerio

(usa Debian)

Enviado em 27/04/2016 - 18:27h

No lugar de
/etc/init.d/service apache2 restart &,
tente:

systemctl restart apache2
ou
systemctl reload apache2


Também pode ser

systemctl restart apache
systemctl reload apache

---------------------------------------------------------------------------------------
"Esta é a filosofia Unix:
Escreva programas que façam apenas uma coisa mas que façam bem feito.
Escreva programas que trabalhem juntos.
Escreva programas que manipulem streams de texto, pois esta é uma interface universal."
Ou, de maneira simples: "faça apenas uma coisa e faça bem".
---------------------------------------------------------------------------------------
Visite: https://gustavovalerio.blogspot.com.br
Visite: http://goo.gl/NJlxXy


3. Re: Trazer resultado de comando em Dialog no Shell Script [RESOLVIDO]

Walker Luiz de Freitas
WalkerPR

(usa Deepin)

Enviado em 28/04/2016 - 10:11h

GustavoValerio escreveu:

No lugar de
/etc/init.d/service apache2 restart &,
tente:

systemctl restart apache2
ou
systemctl reload apache2


Também pode ser

systemctl restart apache
systemctl reload apache

---------------------------------------------------------------------------------------
"Esta é a filosofia Unix:
Escreva programas que façam apenas uma coisa mas que façam bem feito.
Escreva programas que trabalhem juntos.
Escreva programas que manipulem streams de texto, pois esta é uma interface universal."
Ou, de maneira simples: "faça apenas uma coisa e faça bem".
---------------------------------------------------------------------------------------
Visite: https://gustavovalerio.blogspot.com.br
Visite: http://goo.gl/NJlxXy


Olá Gustavo!

Já havia tentado esse comando e não deu certo.


4. Re: Trazer resultado de comando em Dialog no Shell Script [RESOLVIDO]

Walker Luiz de Freitas
WalkerPR

(usa Deepin)

Enviado em 28/04/2016 - 10:14h

Como o comando não funcionou direto, ou seja, o resultado não saiu direto na caixa de diálogo do dialog, tive que fazer uma pequena adaptação onde joguei a saída em um arquivo texto e depois o chamei (visualizei).

Ficou assim:


1)
systenctl restart nginx;
systemctl status nginx >/home/atualdv/servico.log;
dialog \
--title 'Status do Servico WEB' \
--textbox /home/atualdv/servico.log \
0 0
;;



5. Re: Trazer resultado de comando em Dialog no Shell Script [RESOLVIDO]

Gustavo Valério
GustavoValerio

(usa Debian)

Enviado em 28/04/2016 - 13:10h

WalkerPR escreveu:

Como o comando não funcionou direto, ou seja, o resultado não saiu direto na caixa de diálogo do dialog, tive que fazer uma pequena adaptação onde joguei a saída em um arquivo texto e depois o chamei (visualizei).

Ficou assim:


1)
systenctl restart nginx;
systemctl status nginx >/home/atualdv/servico.log;
dialog \
--title 'Status do Servico WEB' \
--textbox /home/atualdv/servico.log \
0 0
;;


Ainda bem que encontrou a solução ideal!
Grato or compartilhá-la aqui.
Ajudará outras pessoas futuramente.

---------------------------------------------------------------------------------------
"Esta é a filosofia Unix:
Escreva programas que façam apenas uma coisa mas que façam bem feito.
Escreva programas que trabalhem juntos.
Escreva programas que manipulem streams de texto, pois esta é uma interface universal."
Ou, de maneira simples: "faça apenas uma coisa e faça bem".
---------------------------------------------------------------------------------------
Visite: https://gustavovalerio.blogspot.com.br
Visite: http://goo.gl/NJlxXy






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts