С Новым годом! Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
2 / 2 / 0
Регистрация: 26.09.2009
Сообщений: 29

При реализации меню как сделать подменю и переход в другой пункт?

27.09.2009, 08:48. Показов 3960. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть вот такой кусочек примерного кода меню:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
 
while 1
do
echo "------------------------------------------------------"
echo "------------------------------------------------------"
echo "------------------------------------------------------"
echo
echo "Введите номер действия:"
echo
echo "[1] - очистка экрана"
echo "[2] - создание каталога FUNC а в нём подкатолога RES"
echo "[3] - запуск программы"
echo "[4] - вывод содержимого каталога FUNC"
echo "[5] - вывод содеожимого файла res.txt"
echo
echo "------------------------------------------------------"
echo "------------------------------------------------------"
echo "------------------------------------------------------"
done
 
read nomer
 
case "$nomer" in
 
    1 )
    clear
           ./$0
    ;;
 
    2 )
    mkdir /home
    mkdir /home/script
    mkdir /home/script/FUNC
    mkdir /home/script/FUNC/RES
            ;;
 
    3 )
    cd /home/student/script/FUNC
    ./proga
    ;;
 
    4 )
    cd /home/student/script/FUNC
    dir
    ;;
 
    5 )
    cd /home/student/script/FUNC/RES
    cat "res.txt"
    ;;
 
    * )
    echo
    echo "Вы ввели неверную команду"
    echo
    ;;
 
esac
В нём при выборе пункта 2 создаётся директория, а при 3 - запускается из этой директории прога. Вопрос: если мы сначала выберем 3, то будет сообщение об отсутствии директории; так вот - как обработать эту ошибку? например чтобы при ошибке вылезало ещё одно меню с предложением создать\несоздать(выйти в главное меню) нужный католог. из всего этого непонятно как определить "действие_на_ошибку" и поставить ссылку перехода в начало скрипта
PS Будет ли работать бесконечный цикл(который в начале), или чтобы скрипт функционировал "case" тоже надо внести внутрь этого цикла? - по идее варианты выбора должны висеть постоянно на экране.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.09.2009, 08:48
Ответы с готовыми решениями:

При нажатии на пункт меню скрыть его, и показать другой пункт меню
Прошу помощи, как можно допустим при нажатии на пункт меню, его скрыть, и показать другой пункт меню? я делаю так : public boolean...

Как сделать, чтобы при наведении на пункт меню двигалась стрелка
Здравствуйте! Подскажите пожалуйста, как сделать такое меню, чтобы при нажатии на пункт меню двигалась стрелка и менялась картинка. ...

Написал аккордеон, как сделать так, чтобы при клике на другой пункт, закрывался предыдущий?
Здравствуйте, Написал аккордеон на js, но не могу придумать как сделать так, что бы при клике на другой пункт, закрывался предыдущий, вот...

4
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
27.09.2009, 16:23
1) Проверь что каталог существует перед тем как туда переходить
или
2) Проверить код возврата "cd"

Добавлено через 44 секунды
Переход делается с помощью оператора метки и goto
0
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 31
10.03.2013, 13:14
Есть проблемка, при вводе например цыфры 2, действия выполняеться, и происходит выход, как сделать так что бы происходило возвращения на повторный ввод?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
10.03.2013, 13:20
каждому "кейсу" добавить назначение какой-нибудь переменной например типа
Bash
1
ret_cod=1
и только в том варианте, где нужно продолжать, этой переменной задавать другое значение
Bash
1
ret_cod=0
саму процедуру завернуть в цикл типа
Bash
1
2
3
4
5
until
[ $ret_cod  -eq 0 ]
do
   #вызов самой процедуры
done
1
0 / 0 / 0
Регистрация: 15.01.2013
Сообщений: 31
10.03.2013, 13:32
мне говорит что не нашли команду while 1 именно команду 1 в строке номер 3 если пишу $1 идет цыкл бесконечный вывода первых echo...

HELP!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2013, 13:32
Помогаю со студенческими работами здесь

Как сделать активным пункт меню в выпадающем списке при клике на ссылку в теле странице?
Добрый день, Уважаемые форумчане! Перерыл весь интернет, но ответа на свой вопрос не нашел. Вообщем: Есть всплывающая пошаговая форма...

Как сделать, чтобы при запуске проги с параметрами, вызывался пункт меню соответствующий введенному параметру?
Добрый день. есть простая консольная прога с меню. хочу, чтобы при запуске проги с параметрами вызывался пункт меню соответствующий...

Как сделать, чтобы при редактировании появлялся тот пункт контекстного меню, который был до этого?
Приветствую всех! Есть форма: Как сделать, чтобы при нажатии на ссылку "редактировать" появлся тот статус, который был до...

Как сделать так, чтобы после нажатия на пункт меню страница прокручивалась до якоря и меню закрывалось?
Привет всем, у меня есть html код страницы со вставками javascript кода. Имеется два javascripta, один отвечает за прокрутку страницы к...

Программное создание контролера или варианты реализации меню с подменю на UITableView
Добрый день! Имею идею создать список пунктов меню на UITableView. По клику на cell должен совершатся переход в подменю, тоже из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru