Пример 24-3. Комбинирование "ИЛИ-списков" и "И-списков"

Пример 24-3. Комбинирование "ИЛИ-списков" и "И-списков"

#!/bin/bash

# delete.sh, утилита удаления файлов.

# Порядок использования: delete имя_файла

E_BADARGS=65

if [ -z "$1" ]

then

echo "Порядок использования: `basename $0` имя_файла"

exit $E_BADARGS # Если не задано имя файла.

else

file=$1 # Запомнить имя файла.

fi

[ ! -f "$file" ] && echo "Файл "$file" не найден.

Робкий отказ удаления несуществующего файла."

# И-СПИСОК, выдать сообщение об ошибке, если файл не существует.

# Обратите внимание: выводимое сообщение продолжается во второй строке,

# благодаря экранированию символа перевода строки.

[ ! -f "$file" ] || (rm -f $file; echo "Файл "$file" удален.")

# ИЛИ-СПИСОК, удаляет существующий файл.

# Обратите внимание на логические условия.

# И-СПИСОК отрабатывает по true, ИЛИ-СПИСОК -- по false.

exit 0

Списки возвращают код завершения последней выполненной команды.

Комбинируя "И" и "ИЛИ" списки, легко "перемудрить" с логическими условиями, поэтому, в таких случаях может потребоваться детальная отладка.

false && true || echo false # false

# Тот же результат дает

( false && true ) || echo false # false

# Но не эта комбинация

false && ( true || echo false ) # (нет вывода на экран)

# Обратите внимание на группировку и порядок вычисления условий -- слева-направо,

#+ поскольку логические операции "&&" и "||" имеют равный приоритет.

# Если вы не уверены в своих действиях, то лучше избегать таких сложных конструкций.

# Спасибо S.C.

См. Пример A-8 и Пример 7-4, иллюстрирующие использование И/ИЛИ-списков для проверки переменных.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

7.5. Обработка списков

Из книги Программирование на языке Пролог автора Клоксин У.

7.5. Обработка списков В этом разделе мы рассмотрим некоторые основные предикаты, полезные при работе со списками. Поскольку Пролог позволяет работать с произвольными структурами данных, списки не могут играть в нем той незаменимой роли, какая им отводится в других языках


13.6.5. Создание списков

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

13.6.5. Создание списков В документах очень часто используются списки — перечень материалов, действий и т. д. Списки бывают нумерованными и маркированными. Понятно, что в первом случае каждый элемент списка нумеруется, а во втором — обозначается выбранным вами


14.6. Создание списков

Из книги Реферат, курсовая, диплом на компьютере автора Баловсяк Надежда Васильевна

14.6. Создание списков Предположим, нам нужно создать небольшой список. Например, список сотрудников и их мобильных телефонов. Или же список доходов нашего магазина. В первом случае у нас будут три заголовка — Номер (сотрудника), Фамилия и Телефон. Во втором случае — Дата и


1.13. Оформление списков

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

1.13. Оформление списков При оформлении маркированного списка наиболее предпочтительно использовать символ «». Знак маркировки должен находиться в начале абзаца. Расстояние от левого края печати до текста в списке должно составлять 0,63 см (что соответствует стандартным


5.11. Оформление списков

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

5.11. Оформление списков Word позволяет создавать нумерованные и маркированные списки. Нумерация в списках проставляется автоматически и меняется в зависимости от перемещения, добавления или удаления элементов списка.Для форматирования текста в виде списков с различными


Параметры списков

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Параметры списков Списки среди блочных элементов стоят особняком. В основном, из-за того, что, во-первых, содержат в себе другие блочные элементы (отдельные пункты), а во-вторых, включают маркеры и нумерацию, которые расставляет сам Web-обозреватель. Вот о маркерах и


Параметры списков

Из книги XSLT автора Хольцнер Стивен

Параметры списков Списки среди блочных элементов стоят особняком. В основном, из-за того, что, во-первых, содержат в себе другие блочные элементы (отдельные пункты), а во-вторых, включают маркеры и нумерацию, которые расставляет сам Web-обозреватель. Вот о маркерах и


Создание списков XSL-FO

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван


3.1. Представление списков

Из книги Видеосамоучитель создания реферата, курсовой, диплома на компьютере автора Баловсяк Надежда Васильевна

3.1. Представление списков Список — это простая структура данных, широко используемая в нечисловом программировании. Список — это последовательность, составленная из произвольного числа элементов, например энн, теннис, том, лыжи. На Прологе это записывается так:[ энн,


6.2.2. Вывод списков

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

6.2.2. Вывод списков Кроме стандартного прологовского формата для списков существуют несколько других естественных форм их внешнего представления, которые в некоторых ситуациях являются более предпочтительными. Следующая процедуравывспис( L)выводит список L так, что


9.1.2. Сортировка списков

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

9.1.2. Сортировка списков Сортировка применяется очень часто. Список можно отсортировать (упорядочить), если между его элементами определено отношение порядка. Для удобства изложения мы будем использовать отношение порядкабольше( X, Y)означающее, что X больше, чем Y,


1.13. Оформление списков

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

1.13. Оформление списков При оформлении маркированного списка наиболее предпочтительно использовать символ. Знак маркировки должен находиться в начале абзаца. Расстояние от левого края печати до текста в списке должно составлять 0,63 см (что соответствует стандартным


Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков"

Из книги автора

Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков" #!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если


Содержимое списков

Из книги автора

Содержимое списков Для формирования содержимого некоторых списков стандартных диалогов Windows используется ряд стандартных параметров (о ветвях, используемых для формирования списков стандартных диалогов, будет рассказано чуть позже). Эти параметры создаются в дочерних


2.4. Создание списков

Из книги автора

2.4. Создание списков Простые списки можно создать с помощью обрывов страниц, но HTML предлагает для этого лучший инструмент.Списки – важный инструмент, они применяются для организации и группировки данных. Это может пригодиться при создании карты сайта (то есть его