Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Виконання кількох дій

У версіях о бити до 4.0 р., випадок дозволено виконати лише одну дію під час успішного збігу. Після успішного збігу команда буде припинена. Тут ми бачимо скрипт, який тестує персонаж:



#! / бін / баш


# case4-1: тестування персонажа


read -n 1 -p "Введіть символ > " echo

випадок $REPLY в

[[:upper:]]) echo "'$REPLY' - верхній регістр." ;;

[[:lower:]]) echo "'$REPLY' - нижній регістр." ;;

[[:alpha:]]) echo "'$REPLY' є алфавітним." ;;

[[:digit:]]) echo "'$REPLY' є цифрою." ;; [[:graph:]]) echo "'$REPLY' є видимим символом." ;;

[[:punct:]]) echo "'$REPLY' - це знак пунктуації." ;; [[:space:]]) echo "'$REPLY' є пробілом." ;; [[:xdigit:]]) echo "'$REPLY' є шістнадцятковою цифрою." ;;

що С

#! / бін / баш


# case4-1: тестування персонажа


read -n 1 -p "Введіть символ > " echo

випадок $REPLY в

[[:upper:]]) echo "'$REPLY' - верхній регістр." ;;

[[:lower:]]) echo "'$REPLY' - нижній регістр." ;;

[[:alpha:]]) echo "'$REPLY' є алфавітним." ;;

[[:digit:]]) echo "'$REPLY' є цифрою." ;; [[:graph:]]) echo "'$REPLY' є видимим символом." ;;

[[:punct:]]) echo "'$REPLY' - це знак пунктуації." ;; [[:space:]]) echo "'$REPLY' є пробілом." ;; [[:xdigit:]]) echo "'$REPLY' є шістнадцятковою цифрою." ;;

що С


Запуск цього скрипту створює це:



[me@linuxbox ~]$ випадок 4-1

Введіть символ > a

"a" - малий регістр.

[me@linuxbox ~]$ випадок 4-1

Введіть символ > a

"a" - малий регістр.


Сценарій здебільшого працює, але не працює, якщо символ відповідає більш ніж одному з класів символів POSIX. Наприклад, символ "a" є як малим, так і алфавітним, а також шістнадцятковим розрядом. в бити до версії 4.0 не було можливості для випадок відповідати більш ніж одному тесту. Сучасні версії о бити, додайте позначення «;;&».


припиняти кожну дію, тож тепер ми можемо зробити це:



#! / бін / баш


# case4-2: тестування персонажа


read -n 1 -p "Введіть символ > " echo

випадок $REPLY в

[[:upper:]]) echo "'$REPLY' - верхній регістр." ;;&

[[:lower:]]) echo "'$REPLY' - нижній регістр." ;;&

[[:alpha:]]) echo "'$REPLY' є алфавітним." ;;&

[[:digit:]]) echo "'$REPLY' є цифрою." ;;& [[:graph:]]) echo "'$REPLY' є видимим символом." ;;&

[[:punct:]]) echo "'$REPLY' - це знак пунктуації." ;;& [[:space:]]) echo "'$REPLY' є пробілом." ;;& [[:xdigit:]]) echo "'$REPLY' є шістнадцятковою цифрою." ;;&

що С

#! / бін / баш


# case4-2: тестування персонажа


read -n 1 -p "Введіть символ > " echo

випадок $REPLY в

[[:upper:]]) echo "'$REPLY' - верхній регістр." ;;&

[[:lower:]]) echo "'$REPLY' - нижній регістр." ;;&

[[:alpha:]]) echo "'$REPLY' є алфавітним." ;;&

[[:digit:]]) echo "'$REPLY' є цифрою." ;;& [[:graph:]]) echo "'$REPLY' є видимим символом." ;;&

[[:punct:]]) echo "'$REPLY' - це знак пунктуації." ;;& [[:space:]]) echo "'$REPLY' є пробілом." ;;& [[:xdigit:]]) echo "'$REPLY' є шістнадцятковою цифрою." ;;&

що С


Коли ми запускаємо цей скрипт, ми отримуємо це:



[me@linuxbox ~]$ випадок 4-2

Введіть символ > a "a" - малий регістр. «а» — алфавітний.

«a» — видимий символ. «a» — шістнадцяткова цифра.

[me@linuxbox ~]$ випадок 4-2

Введіть символ > a "a" - малий регістр. «а» — алфавітний.

«a» — видимий символ. «a» — шістнадцяткова цифра.


Додавання синтаксису «;;&» дозволяє перейти до наступного тесту, а не просто завершити.


Найпопулярніші хмарні обчислення ОС на OnWorks: