Операторы сравнения


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

[ 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?