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

echo "Testing \"-1\""

if [ -1 ] # минус один

then

echo "-1 -- это истина."

else

echo "-1 -- это ложь."

fi # -1 -- это истина.

echo

echo "Проверяется \"NULL\""

if [ ] # NULL (пустое условие)

then

echo "NULL -- это истина."

else

echo "NULL -- это ложь."

fi # NULL -- это ложь.

echo

echo "Проверяется \"xyz\""

if [ xyz ] # строка

then

echo "Случайная строка -- это истина."

else

echo "Случайная строка -- это ложь."

fi # Случайная строка -- это истина.

echo

echo "Проверяется \"\$xyz\""

if [ $xyz ] # Проверка, если $xyz это null, но...

# только для неинициализированных переменных.

then

echo "Неинициализированная переменная -- это истина."

else

echo "Неинициализированная переменная -- это ложь."

fi # Неинициализированная переменная -- это ложь.

echo

echo "Проверяется \"-n \$xyz\""

if [ -n "$xyz" ] # Более корректный вариант.

then

echo "Неинициализированная переменная -- это истина."

else

echo "Неинициализированная переменная -- это ложь."

fi # Неинициализированная переменная -- это ложь.

echo

xyz= # Инициализирована пустым значением.

echo "Проверяется \"-n \$xyz\""

if [ -n "$xyz" ]

then

echo "Пустая переменная -- это истина."

else

echo "Пустая переменная -- это ложь."

fi # Пустая переменная -- это ложь.

echo

# Кргда "ложь" истинна?

echo "Проверяется \"false\""

if [ "false" ] # это обычная строка "false".

then

echo "\"false\" -- это истина." #+ и она истинна.

else

echo "\"false\" -- это ложь."

fi # "false" -- это истина.

echo

echo "Проверяется \"\$false\"" # Опять неинициализированная переменная.

if [ "$false" ]

then

echo "\"\$false\" -- это истина."

else

echo "\"\$false\" -- это ложь."

fi # "$false" -- это ложь.

# Теперь мв получили ожидаемый результат.

echo

exit 0

Упражнение. Объясните результаты, полученные в Пример 7-1.

if [ condition-true ]

then

command 1

command 2

...

else

# Необязательная ветка (можно опустить, если в ней нет необходимости).

# Дополнительный блок кода,

# исполняемый в случае, когда результат проверки -- "ложь".

command 3

command 4

...

fi

Когда if и then располагаются в одной строке, то конструкция if должна завершаться точкой с запятой. И if, и then -- это зарезервированные слова. Зарезервированные слова начинают инструкцию, которая должна быть завершена прежде, чем в той же строке появится новая инструкция.

if [ -x "$filename" ]; then

Else if и elif

elif

elif -- это краткая форма записи конструкции else if. Применяется для построения многоярусных инструкций if/then.

if [ condition1 ]

then

command1

command2

command3

elif [ condition2 ]

# То же самое, что и else if

then

command4

command5

else

default-command

fi

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных