Чем отличается пара квадратных скобок [] от вложенной пары [[]]?
Одна пара квадратных скобок [] используется для обозначения списка или массива элементов в языке программирования или для указания индекса элемента в массиве. Две вложенных пары [[]] могут использоваться для создания списка в списке или для обозначения двумерного массива в языке программирования. Пара квадратных скобок [] без вложения в другую пару используется для обозначения одиночного элемента в списке или массиве.
Если кратко, то[это синоним дляtest. Обрабатывается как и любая другая команда с соответствующими ограничениями.[[— это расширение Bash (не совместимо с другими оболочками) и так как это внутренняя функция, то имеет несколько больше возможностей. В частности, нет необходимости заключать переменные в кавычки, можно использовать&&,||,<и>и есть поддержка регулярных выражений через оператор=~. Для подробностей смотритеman bash.