Тестирование файлов Bash
-b filename
- Блокировать специальный файл
-c filename
- файл специальных символов
-d directoryname
- Проверить наличие каталога
-e filename
- проверка существования файла независимо от типа (узел, каталог, сокет и т. Д.)
-f filename
- Проверить наличие обычного файла, а не каталога
-G filename
- Проверить, существует ли файл и принадлежит ли ему эффективный идентификатор группы
-G filename set-group-id
- Истинно, если файл существует и является set-group-id
-k filename
- Липкий бит
-L filename
- Символическая ссылка
-O filename
- Истинно, если файл существует и принадлежит эффективному идентификатору пользователя
-r filename
- Проверить, доступен ли файл для чтения
-S filename
- Проверить, является ли файл сокетом
-s filename
- Проверить, не равен ли файл ненулевому размеру
-u filename
- Проверить, установлен ли бит набора идентификаторов пользователя
-w filename
- Проверить, доступен ли файл для записи
-x filename
- Проверить, является ли файл исполняемым
Как использовать:
#!/bin/bash
file=./file
if [ -e "$file" ]; then
echo "File exists"
else
echo "File does not exist"
fi
A тестовое выражение может быть отменено с помощью оператора !
#!/bin/bash
file=./file
if [ ! -e "$file" ]; then
echo "File does not exist"
else
echo "File exists"
fi