Сравнения чисел

[ 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 ]    # строка не пустая?

Сравнения файлов

-e     Файл существует
-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
-----------