как исправить это командное меню - PullRequest
0 голосов
/ 13 июня 2019

Этот скрипт оболочки меню позволяет мне выполнять команды, но есть проблема;как только я ввожу выбор, команда запускается, и сразу после результата появляется меню без очистки экрана.

#!/bin/sh
LOGO="t13 Menu"
amenu="a.  db"                 ;
bmenu="b.  listening ports "           ; 
cmenu="c.  Display Directory Listing " ; 
dmenu="d.  MenuCID "                   ;


badchoice () { MSG="Invalid Selection ... Please Try Again" ; } 

apick () { ps -rf | grep pemon ;}
bpick () { lsof -n | grep LISTEN ; }
cpick () { ls -ltr | more ; }
dpick () { menujob ; }

clear

themenu () {


echo `date`
echo
echo "\t\t\t" $LOGO
echo
echo "\t\tPlease Select:"
echo
echo "\t\t\t" $amenu
echo "\t\t\t" $bmenu
echo "\t\t\t" $cmenu
echo "\t\t\t" $dmenu
echo
echo
echo "\t\t\t\tx. Exit"
echo
echo $MSG
echo
echo Select by pressing the letter and then ENTER ;
}

MSG=

while  true
do
  themenu
  read answer
  MSG=

  case $answer in
      a|A) apick;;
      b|B) bpick;;
      c|C) cpick;;
      d|D) dpick;;
      e|E) epick;;

      x|X) break;;
      *) badchoice;;

   esac

done

то, что я ожидаю: после ввода выбора появится результат, и мне потребуетсянажмите клавишу ввода, чтобы 1. очистить терминал, а затем снова показать меню.

1 Ответ

0 голосов
/ 13 июня 2019

Возможно что-то вроде этого:

.
.
.
  esac

  echo ""      
  echo "Press <ENTER> to return to the menu..."
  read junk
  clear
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...