Сравнения чисел
[ A -eq B ] # равно
[ A -ne B ] # не равно
[ A -gt B ]
[ A -lt B ]
[ A -ge B ]
[ A -le B ]
(( A < B ))
(( A <= B ))
(( A > B ))
(( A >= B ))
Сравнения строк
[ A = B ]
[ A == B ]
[ A != B ]
[ A \< B ]
[ A \> B ]
[ -z A ] # строка пустая?
[ -n A ] # строка не пустая?
Сравнения файлов
-a Файл существует
-f Обычный файл
-s Ненулевой размер файла
-d Является каталогом
-b Является блочным устройством (cdrom)
-c Является символьным устройство
-p Является каналом
-h Является символической ссылкой
-L Является символической ссылкой
-S Является сокетом
-t 0 Является stdin
-t 1 Является stdout
-r Доступен для чтения
-w Доступен для записи
-x Доступен для исполнения
-g Есть sgid
-u Есть suid
-k Есть sticky bit
-O Я — владелец?
-G Моя группа — владелец?
-N Файл был модифицирован после чтения?
F1 -nt F2 F1 новее чем F2?
F1 -ot F2 F1 старее чем F2?
F1 -ef F2 F1 является жесткой ссылкой F2?
Сопоставляем файл с регулярным выражением
if [[ $file =~ ^[0-9]+\.jpg$ ]] ; then
echo $file;
else
echo '!' $file;
fi
Источники:
- 1-3 - user.su