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




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


Для повышения ясности комментариев, выделяйте их особым образом.

## Внимание! rm -rf *.zzy ## Комбинация ключей "-rf", в команде "rm", чрезвычайно опасна, ##+ особенно при удалении по шаблону.

#+ Продолжение комментария на новой строке. # Это первая строка комментария #+ это вторая строка комментария, #+ это последняя строка комментария.

#* Обратите внимание.

#o Элемент списка.

#> Альтернативный вариант. while [ "$var1" != "end" ] #> while test "$var1" != "end"

Для создания блочных комментариев, можно использовать конструкцию if-test.

#!/bin/bash

COMMENT_BLOCK= # Если попробовать инициализировать эту переменную чем нибудь, #+ то вы получите неожиданный результат.

if [ $COMMENT_BLOCK ]; then

Блок комментария -- ================================= Это строка комментария. Это другая строка комментария. Это еще одна строка комментария. =================================

echo "Эта строка не выводится."

Этот блок комментария не вызывает сообщения об ошибке! Круто!

fi

echo "Эта строка будет выведена на stdout."

exit 0

Сравните этот вариант создания блочных комментариев со встроенным документом, использующимся для создания блочных комментариев.

С помощью служебной переменной $?, можно проверить -- является ли входной аргумент целым числом.

#!/bin/bash

SUCCESS=0 E_BADINPUT=65

test "$1" -ne 0 -o "$1" -eq 0 2>/dev/null # Проверка: "равно нулю или не равно нулю". # 2>/dev/null подавление вывода сообщений об ошибках.

if [ $? -ne "$SUCCESS" ] then echo "Порядок использования: `basename $0` целое_число" exit $E_BADINPUT fi

let "sum = $1 + 25" # Будет выдавать ошибку, если $1 не является целым числом. echo "Sum = $sum"

# Любая переменная может быть проверена таким образом, а не только входные аргументы.

exit 0

Диапазон, возвращаемых функциями значений, 0 - 255 -- серьезное ограничение.


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