Книга: Искусство программирования на языке сценариев командной оболочки
Пример 10-13. Работа с командой efax в пакетном режиме
Пример 10-13. Работа с командой efax в пакетном режиме
#!/bin/bash
EXPECTED_ARGS=2
E_BADARGS=65
if [ $# -ne $EXPECTED_ARGS ]
# Проверка наличия аргументов командной строки.
then
echo "Порядок использования: `basename $0` phone# text-file"
exit $E_BADARGS
fi
if [ ! -f "$2" ]
then
echo "Файл $2 не является текстовым файлом"
exit $E_BADARGS
fi
fax make $2 # Создать fax-файлы из текстовых файлов.
for file in $(ls $2.0*) # Все файлы, получившиеся в результате преобразования.
# Используется шаблонный символ в списке.
do
fil="$fil $file"
done
efax -d /dev/ttyS3 -o1 -t "T$1" $fil # отправить.
# Как указывает S.C., в цикл for может быть вставлена сама команда отправки в виде:
# efax -d /dev/ttyS3 -o1 -t "T$1" $2.0*
# но это не так поучительно [;-)].
exit 0
while
Оператор while проверяет условие перед началом каждой итерации и если условие истинно (если код возврата равен 0), то управление передается в тело цикла. В отличие от циклов for, циклы while используются в тех случаях, когда количество итераций заранее не известно.
while [condition] do command... done
Как и в случае с циклами for/in, при размещении ключевого слова do в одной строке с объявлением цикла, необходимо вставлять символ ";" перед do.
while [condition] ; do
Обратите внимание: в отдельных случаях, таких как использование конструкции getopts совместно с оператором while, синтаксис несколько отличается от приводимого здесь.
- Пример 10-1. Простой цикл for
- Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка
- Пример 10-3. Fileinfo: обработка списка файлов, находящегося в переменной
- Пример 10-4. Обработка списка файлов в цикле for
- Пример 10-5. Цикл for без списка аргументов
- Пример 10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
- Пример 10-7. grep для бинарных файлов
- Пример 10-8. Список всех пользователей системы
- Пример 10-9. Проверка авторства всех бинарных файлов в текущем каталоге
- Пример 10-10. Список символических ссылок в каталоге
- Пример 10-11. Список символических ссылок в каталоге, сохраняемый в файле
- Пример 10-12. C-подобный синтаксис оператора цикла for
- Пример 10-13. Работа с командой efax в пакетном режиме
- Пример 10-14. Простой цикл while
- Пример 10-15. Другой пример цикла while
- Пример 10-16. Цикл while с несколькими условиями
- Пример 10-17. C-подобный синтаксис оформления цикла while
- Пример 10-18. Цикл until
- Пример установочного скрипта
- Пример из практики
- Резервное копирование при работе InterBase в режиме 24x7
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Лекция 15. Работа с базами данных
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Работа с ресурсами локальной сети
- Эффективная работа с временными файлами сортировки
- Ускоренная работа с индексами
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- Безопасная работа с внешними таблицами
- Работа со строками