Операторы сравнения
Проверка пользователей
Проверка root'a
Код: Выделить всё
UID_ROOT=0
if [ "$UID" -ne "$UID_ROOT" ]; then
echo "::=> Requires root privileges"
exit 1
fi
Проверка существования пользователя
Код: Выделить всё
grep "^$username:" /etc/passwd >/dev/null
if [ $? -ne 0 ]; then
echo "Пользователь не найден"
exit 1
fi
Проверка входящих параметров
Проверка на существование
Код: Выделить всё
if [ -z "$1" ]; then
echo "Значение не задано"
exit 1
fi
Обязательно присутствие двух параметров
Код: Выделить всё
if [[ -z "$1" || -z "$2" ]]; then
echo "Значение не задано"
exit 1
fi
Проверки файлов и каталогов
Проверка на существование директории
Код: Выделить всё
if [ ! -d "$DIR" ]; then
echo "::=> Directory does not exist :: $DIR"
exit 1
fi
Проверка на существование файла
Код: Выделить всё
if [ ! -e "$FILE" ]; then
echo "::=> File does not exist :: $FILE"
exit 1
fi
Директория существует и доступна для записи
Код: Выделить всё
if ! [[ -d "$FTPDIR" && -w "$FTPDIR" ]]; then
echo "Директория не верна или отсутствуют права для записи"
exit 1
fi
Проверка существования файла, а также есть есть права на чтение и выполнение.
Если условия не выполняются, то выполнится exit
Код: Выделить всё
test -x /usr/sbin/ || exit 1
Прочее
Проверка результата выполнения программы
Код: Выделить всё
rm /tmp/non_exist_file
if [ $? -ne 0 ]; then
echo "::=> Critical exit :: ${BASH_SOURCE} line:${LINENO}"
exit 1
fi