<Попередній | зміст | Наступна>
випадок
In бити, викликається складена команда з кількома варіантами випадок. Він має такий синтаксис:
випадок слово in
[модель [| модель]...) Команди ;;]...
що С
Якщо ми подивимося на меню читання програмі з розділу 28 ми бачимо логіку, яка використовується для дії на вибір користувача:
#! / бін / баш
# read-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
1. Відображення системної інформації
2. Відобразити дисковий простір
3. Відображення використання домашнього простору
0. Вийти "
read -p "Введіть вибір [0-3] > "
якщо [[ $REPLY =~ ^[0-3]$ ]]; тоді якщо [[ $REPLY == 0 ]]; тоді
#! / бін / баш
# read-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
1. Відображення системної інформації
2. Відобразити дисковий простір
3. Відображення використання домашнього простору
0. Вийти "
read -p "Введіть вибір [0-3] > "
якщо [[ $REPLY =~ ^[0-3]$ ]]; тоді якщо [[ $REPLY == 0 ]]; тоді
echo «Програму припинено». вихід
fi
якщо [[ $REPLY == 1 ]]; потім лунайте "Ім'я хосту: $HOSTNAME" час роботи
вихід
fi
якщо [[ $REPLY == 2 ]]; потім df -h
вихід
fi
якщо [[ $REPLY == 3 ]]; тоді
якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi вихід
fi ще
echo "Недійсний запис." >&2 вихід 1
fi
echo «Програму припинено». вихід
fi
якщо [[ $REPLY == 1 ]]; потім лунайте "Ім'я хосту: $HOSTNAME" час роботи
вихід
fi
якщо [[ $REPLY == 2 ]]; потім df -h
вихід
fi
якщо [[ $REPLY == 3 ]]; тоді
якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi вихід
fi ще
echo "Недійсний запис." >&2 вихід 1
fi
використання випадок, ми можемо замінити цю логіку на щось простіше:
#! / бін / баш
# case-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
1. Відображення системної інформації
2. Відобразити дисковий простір
3. Відображення використання домашнього простору
0. Вийти "
read -p "Введіть вибір [0-3] > "
випадок $REPLY в
0) echo «Програму припинено». вихід
;;
#! / бін / баш
# case-menu: очищення системної інформаційної програми на основі меню
луна"
Оберіть будь ласка:
1. Відображення системної інформації
2. Відобразити дисковий простір
3. Відображення використання домашнього простору
0. Вийти "
read -p "Введіть вибір [0-3] > "
випадок $REPLY в
0) echo «Програму припинено». вихід
;;
1) echo "Ім'я хосту: $HOSTNAME" час роботи
;;
2) df -h
;;
3) якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi
;;
*) echo "Недійсний вхід" >&2 вихід 1
;;
що С
1) echo "Ім'я хосту: $HOSTNAME" час роботи
;;
2) df -h
;;
3) якщо [[ $(id -u) -eq 0 ]]; тоді
echo "Використання домашнього простору (всі користувачі)" du -sh /home/*
ще
echo "Використання домашнього простору ($USER)" du -sh $HOME
fi
;;
*) echo "Недійсний вхід" >&2 вихід 1
;;
що С
Команда випадок команда дивиться на значення слово, у нашому прикладі значення ВІДПОВІДЬ змінної, а потім намагається зіставити її з одним із зазначених моделі. Коли збіг знайдено, Команди пов’язані із зазначеним шаблоном, виконуються. Після того, як збіг знайдено, подальші збіги не намагаються.