Этот скрипт оболочки меню позволяет мне выполнять команды, но есть проблема;как только я ввожу выбор, команда запускается, и сразу после результата появляется меню без очистки экрана.
#!/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. очистить терминал, а затем снова показать меню.