Искусство программирования на языке сценариев командной оболочки



         

Программирование на языке сценариев командной оболочки - стр. 316


# ==> Упражнения: # ==> ---------- # ==> 1) Добавьте обработку ошибок. # ==> 2) Добавьте уведомление звуковым сигналом.

Пример A-15. Указание на авторские права

Следующее соглащение об авторских правах относится к двум, включенным в книгу, сценариям от Mark Moraes: "behead.sh" и "ftpget.sh"

/* * Copyright University of Toronto 1988, 1989. * Автор: Mark Moraes * * Автор дает право на использование этого программного обеспечения * его изменение и рапространение со следующими ограничениями: * * 1. Автор и Университет Торонто не отвечают * за последствия использования этого программного обеспечения, * какими ужасными бы они ни были, * даже если они вызваны ошибками в нем. * * 2. Указание на происхождение программного обеспечения не должно подвергаться изменениям, * явно или по оплошности. Так как некоторые пользователи обращаются к исходным текстам, * они обязательно должны быть включены в документацию. * * 3. Измененная версия должна содержать явное упоминание об этом и не должна * выдаваться за оригинал. Так как некоторые пользователи обращаются к исходным текстам, * они обязательно должны быть включены в документацию. * * 4. Это соглашение не может удаляться и/или изменяться. */

+

Antek Sawicki предоставил следующий сценарий, который демонстрирует операцию подстановки параметров, обсуждавшуюся в Section 9.3.

Пример A-16. password: Генератор случайного 8-ми символьного пароля

#!/bin/bash # Для старых систем может потребоваться указать #!/bin/bash2. # # Генератор случайных паролей для bash 2.x # Автор: Antek Sawicki <tenox@tenox.tc>, # который великодушно позволил использовать его в данном документе. # # ==> Комментарии, добавленные автором документа ==>

MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" LENGTH="8" # ==> 'LENGTH' можно увеличить, для генерации более длинных паролей.

while [ "${n:=1}" -le "$LENGTH" ] # ==> Напоминаю, что ":=" -- это оператор "подстановки значения по-умолчанию". # ==> Таким образом, если 'n' не инициализирована, то в нее заносится 1.


Содержание  Назад  Вперед