Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Script menu.sh
- # Usado para exemplificar o uso de DIALOG nas aulas de Shell Script
- #
- # Criado por: Vagner Fonseca
- # Versao: 0.1
- #
- #
- #
- # Testa se esta sendo executado no Modo Grafico ou Modo Texto
- #
- if [ -z $DISPLAY ]; then
- export DIALOG=$(which dialog)
- else
- export DIALOG=$(which Xdialog)
- fi
- #
- # Cria o aquivo onde sera armazenada a resposta da pergunta dentro do dialog e
- # se o script for cancelado ele apaga o arquivo
- #
- tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
- trap "rm -f $tempfile" 0 1 2 5 15
- #
- # Funcao que apresenta o menu para os usuarios escolherem as opcoes
- #
- function menu {
- $DIALOG --backtitle "Vagner Software LTDA" --title "MENU DE OPCOES" \
- --menu "Selecione abaixo o que deseja fazer:" 18 50 10 \
- "L" "Listar o /" \
- "D" "Exibir a data atual" \
- "U" "Ver o usuarios logados" \
- "K" "Ver a versao do Kernel" \
- "T" "Para ver o tempo de uso" \
- "S" "Para sair do Script" 2> $tempfile
- }
- #
- # Funcao que executa o que foi escolhido e apresenta o resultado do que foi feito
- #
- executa () {
- RESP=$(cat $tempfile)
- case $RESP in
- [L]) VAR=$(ls -l /); $DIALOG --backtitle "Vagner Software LTDA" --title "Lista do /" --msgbox "$VAR" 30 80 ;;
- [D]) VAR=$(date); $DIALOG --backtitle "Vagner Software LTDA" --title "Data" --msgbox "$VAR" 8 50 ;;
- [U]) VAR=$(w); $DIALOG --backtitle "Vagner Software LTDA" --title "Usuarios Logados" --msgbox "$VAR" 20 80 ;;
- [K]) VAR=$(uname -r); $DIALOG --backtitle "Vagner Software LTDA" --title "Versao do Kernel" --msgbox "$VAR" 8 40 ;;
- [T]) VAR=$(uptime); $DIALOG --backtitle "Vagner Software LTDA" --title "Tempo de Ligado" --msgbox "$VAR" 8 70 ;;
- [S]) exit ;;
- *) $DIALOG --backtitle "Vagner Software LTDA" --title "Mensagem de erro" --msgbox "Para sair escolha a opcao S do menu" 8 50;;
- esac
- }
- #
- # Evita que o script seja cancelado por algum sinal enviado por comando ou teclado
- #
- ##trap 'echo "Operacao Invalida"' 0 1 2 3 5 15 18 20 24
- #
- # Chama as funcoes dentro de um loop, portanto permanecera na tela ate que seja
- # escolhida a opcao sair
- #
- while true ; do
- clear
- menu
- executa
- done
- #
- # Fim do script
Advertisement
Add Comment
Please, Sign In to add comment