@anderberni

Как сделать так, чтобы при выполнении программа не закрывалась, а просила вводить значения дальше?

#!/bin/bash
menu[0]='1.Текущий пользователь'
menu[1]='2.Данные о каталоге'
menu[2]='3.Запущенные процессы'
menu[3]='4.Выход'
for i in ${menu[@]}; do
echo "$i"
done
read -p "Выберите номер процесса:" choice
if (( choice == 1 )); then
echo $(users)
elif (( choice == 2 )); then
echo $(ls)
elif (( choice == 3 )); then
echo $(ps)
elif (( choice == 4 )); then
break
fi


Задание состоит в том чтобы процесс повторялся до тех пор, пока не будет выбран пункт меню «Выход».
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@dronmaxman
VoIP Administrator
#!/bin/bash

menu[0]='1.Текущий пользователь'
menu[1]='2.Данные о каталоге'
menu[2]='3.Запущенные процессы'
menu[3]='4.Выход'

menu () {
    for i in ${menu[@]}; do
        echo "$i"
    done

    read -p "Выберите номер процесса:" choice
        if (( choice == 1 )); then
            echo $(users)
        elif (( choice == 2 )); then
            echo $(ls)
        elif (( choice == 3 )); then
            echo $(ps)
        elif (( choice == 4 )); then
            exit
    fi
}

while true
do
    menu
done
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
#!/bin/bash
select choice in "Текущий пользователь" "Данные о каталоге" "Запущенные процессы" "Выход"
do
  echo "$choice"
  case "$REPLY" in
    1) echo $(users);;
    2) ls;;
    3) ps;;
    4) break;;
  esac
done
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы