Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

случаев

In колотить, составная команда с множественным выбором называется случаев. Он имеет следующий синтаксис:

случаев слово in

[описания [| описания] ...) команды ;;] ...

ESAC

Если мы посмотрим на меню для чтения В программе из главы 28 мы видим логику, используемую для действий по выбору пользователя:



#! / Bin / Баш

# read-menu: очистка программы системной информации на основе меню

эхо "

Пожалуйста выберите:


1. Отображение системной информации

2. Отображение дискового пространства

3. Отображение использования домашнего пространства

0. Выйти »

read -p "Ввести выделение [0-3]>"


если [[$ REPLY = ~ ^ [0-3] $]]; тогда если [[$ REPLY == 0]]; тогда

#! / Bin / Баш

# read-menu: очистка программы системной информации на основе меню

эхо "

Пожалуйста выберите:


1. Отображение системной информации

2. Отображение дискового пространства

3. Отображение использования домашнего пространства

0. Выйти »

read -p "Ввести выделение [0-3]>"


если [[$ REPLY = ~ ^ [0-3] $]]; тогда если [[$ REPLY == 0]]; тогда


echo «Программа завершена». выход

fi

если [[$ REPLY == 1]]; затем введите время работы "Hostname: $ HOSTNAME"

выход

fi

если [[$ REPLY == 2]]; затем df -h

выход

fi

если [[$ REPLY == 3]]; тогда

если [[$ (id -u) -eq 0]]; тогда

echo "Использование домашнего пространства (все пользователи)" du -sh / home / *

еще

echo "Использование домашнего пространства ($ USER)" du -sh $ HOME

Fi выход

фи еще

echo "Неверная запись." > & 2 выход 1

fi

echo «Программа завершена». выход

fi

если [[$ REPLY == 1]]; затем введите время работы "Hostname: $ HOSTNAME"

выход

fi

если [[$ REPLY == 2]]; затем df -h

выход

fi

если [[$ REPLY == 3]]; тогда

если [[$ (id -u) -eq 0]]; тогда

echo "Использование домашнего пространства (все пользователи)" du -sh / home / *

еще

echo "Использование домашнего пространства ($ USER)" du -sh $ HOME

Fi выход

фи еще

echo "Неверная запись." > & 2 выход 1

fi


. случаев, мы можем заменить эту логику на что-нибудь попроще:


#! / Bin / Баш

# case-menu: очистка программы системной информации на основе меню

эхо "

Пожалуйста выберите:


1. Отображение системной информации

2. Отображение дискового пространства

3. Отображение использования домашнего пространства

0. Выйти »

read -p "Ввести выделение [0-3]>"


case $ REPLY в

0) echo «Программа завершена». выход

;;

#! / Bin / Баш

# case-menu: очистка программы системной информации на основе меню

эхо "

Пожалуйста выберите:


1. Отображение системной информации

2. Отображение дискового пространства

3. Отображение использования домашнего пространства

0. Выйти »

read -p "Ввести выделение [0-3]>"


case $ REPLY в

0) echo «Программа завершена». выход

;;


1) echo "Имя хоста: $ HOSTNAME" время безотказной работы

;;

2) дф-ч

;;

3) если [[$ (id -u) -eq 0]]; тогда

echo "Использование домашнего пространства (все пользователи)" du -sh / home / *

еще

echo "Использование домашнего пространства ($ USER)" du -sh $ HOME

fi

;;

*) echo "Invalid entry"> & 2 exit 1

;;

ESAC

1) echo "Имя хоста: $ HOSTNAME" время безотказной работы

;;

2) дф-ч

;;

3) если [[$ (id -u) -eq 0]]; тогда

echo "Использование домашнего пространства (все пользователи)" du -sh / home / *

еще

echo "Использование домашнего пространства ($ USER)" du -sh $ HOME

fi

;;

*) echo "Invalid entry"> & 2 exit 1

;;

ESAC


Ассоциация случаев команда смотрит на значение слово, в нашем примере значение оТВЕТИТЬ переменной, а затем пытается сопоставить ее с одним из указанных паттеранами. Когда совпадение найдено, команды связанные с указанным шаблоном. После того, как совпадение найдено, дальнейшие попытки сопоставления не предпринимаются.


 

Лучшие облачные вычисления для ОС в OnWorks: