Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Если вводится корректный ID пользователя и пароль (паролем является mayday), переменные invalid_user и invalid_passwd для недействительного пользователя или пароля имеют значение "по". Затем производится тестирование, и если какая‑либо из переменных принимает значение yes, сценарий для этого пользователя завершается по умолчанию.

К работе допускаются пользователи с действительными ID и паролями. В регистрационном сценарии удобно применять описанное структурное дополнение. В данном примере действительными ID пользователя служат dave или pauline.

$ pg ifpass

#!/bin/sh

#ifpass

#установим значения переменных в "ложь" INVALID_USER=yes

INVALID_PASSWD=yes

# сохранение текущих установок команды stty

SAVEDSTTY=`stty -g`

echo "You are logging into a sensitive area"

echo -n "Enter your ID name :"

read NAME

# скройте символы, введенные в терминале

stty -echo

echo "Enter your password :"

read PASSWORD

# попробуем снова

stty $SAVEDSTTY

if [ "$NAME"="dave" ] || [ "$NAME"="pauline" ]; then

# если действительно, установите переменную

INVALID_USER=no

fi

if [ "$PASSWORD"="mayday" ]; then

# если пароль действителен, установите переменную

INVALID_PASSWD=no

fi

if [ "$INVALIDUSER"="yes" -o "$INVALID_PASSWD"="yes" ]; then

echo " `basename $0 :` Sorry wrong password or userid"

exit 1

fi

# если вы здесь, ваш ID и пароль в порядке.

echo "correct user id and password given"

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

$ ifpass

You are logging into a sensitive area

Enter your ID name : dave

Enter your password :

ifpass :Sorry wrong password or userid

Введем верное имя регистрационное имя и пароль.

$ ifpass

You are logging into a sensitive area

Enter your ID name : dave

Enter your password :

correct user id and password given

18.3.22. Применение elif

Часть elif оператора if then else применяется для проверки при наличии более чем двух условий,

18.3.23. Несколько проверок, реализуемых с помощью elif

В следующем несложном примере протестируем введенные в сценарий имена пользователей.

Сначала в сценарии проверяется, действительно ли пользователь ввел имя; если имя не введено, то проверка не выполняется. Если имя введено, с помощью части elif проверяется, совпадает ли имя с root, louise или dave. В случае несовпадения имени ни с одним из перечисленных имен на экран выводится сообщение, что пользователь не является пользователем root, louise или dave.

$ pg ifelif

#!/bin/sh

# ifelif

echo -n "enter your login name :"

read NAME

# имя не введено, рассмотрение прекращается

if [ -z $NAME ] || [ "$NAME"="" ]; then

echo "You did not enter a name"

elif

# является ли именем root

[ "$NAME"="root" ]; then echo "Hello root"

elif

# именем является louise

[ $NAME="louise" ]; then echo "Hello louise"

elif

# именем является dave

[ "$NAME"="dave" ]; then echo "Hello dave"

else

# нет, это какое‑то другое имя

echo "You are not root or louise or dave but hi $NAME"

fi


При выполнении приведенного сценария с использованием различных регистрационных имен получим следующее:

$ ifelif

enter your login name : dave Hello dave

$ ifelif

enter your login name : You did not enter a name

$ ifelif2

enter your login name : peter

You are not root or louise or dave but hi peter

18.3.24. Проверка нескольких вариантов размещения файла

Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Тристан Таормино , Литагент «5 редакция»

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии
Путь менеджера от новичка до гуру
Путь менеджера от новичка до гуру

«Путь менеджера» – это сборник лучших материалов online-сообщества (learning community) менеджеров E-xecutive за пять лет (2001–2005), которые впервые публикуются offline. Возможно, это книга с самым большим количеством авторов: 20 сотрудников E-xecutive и более 200 участников Сообщества писали, выбирали и редактировали материалы.Книга представляет собой «карту местности» для менеджера, стремящегося найти кратчайший путь к успеху, на которой отображены открытия лучших «картографов» – всемирно признанных бизнес-гуру и успешных российских топ-менеджеров. Эта книга о том, чем в действительности живут менеджеры, о чем не пишут в учебниках, и предназначается она для тех, кто стремится не только к карьерному успеху, но и к настоящей эффективности, личностному и профессиональному развитию.

Сообщество менеджеров E-xecutive

Руководства / Словари и Энциклопедии