Проверки

Ответить
admin
Администратор
Сообщения: 198
Зарегистрирован: 05 янв 2011, 04:19

Проверки

Сообщение admin »

Проверки

Операторы сравнения
Проверка пользователей

Проверка 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
Ответить