Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Вы можете написать новую версию сценария проверки пользовательского ввода с помощью конструкции
case#!/bin/shecho "Is it morning? Please answer yes or no "read timeofdaycase "$timeofday" in yes) echo "Good Morning";; no ) echo "Good Afternoon";; y ) echo "Good Morning";; n ) echo "Good Afternoon";; * ) echo "Sorry, answer not recognized";;esacexit 0Как это работает
Когда выполняется оператор
casetimeofdaycase)Оператор
case**casecase*Предыдущая версия конструкции case, безусловно, элегантнее варианта с множественными операторами
if#!/bin/shecho "Is it morning? Please answer yes or no "read timeofday<i>case "$timeofday" in</i><i> yes | y | Yes | YES ) echo "Good Morning";;</i><i> n* | N*) echo "Good Afternoon";;</i><i> * ) echo "Sorry, answer not recognized";;</i><i>esac</i>exit 0Как это работает
Данный сценарий в операторе
casecase*nevern**В заключение, для того чтобы сделать сценарий многократно используемым, вам необходимо использовать другое значение кода завершения в том случае, когда применяется образец по умолчанию для непонятного варианта ввода.
#!/bin/shecho "Is it -morning? Please answer yes or no"read timeofday<i>case "$timeofday" in</i><i> yes | y | Yes | YES )</i> echo "Good Morning"
<i> echo "Up bright and early this morning"</i><i> ;;</i><i> [nN]*)</i><i> echo "Good Afternoon"</i><i> ;;</i><i> *)</i><i> echo "Sorry, answer not recognized"</i><i> echo "Please answer yes or no"</i><i> exit 1</i><i> ;;</i><i>esac</i>exit 0Как это работает
Для демонстрации другого способа определения соответствия образцу в этом программном коде изменен вариант определения соответствия для ветви
nocase*)Учтите, что сдвоенная точка с запятой
;;esac;;case
