|| для разделения двух элементов в команде bash. Эта пара символов читается как «ИЛИ»: вторая часть команды будет выполнена, только если первая закончится неудачей.
Apple также сообщает, что macOS Catalina и более новые версии будут использовать Zsh в качестве интерактивной оболочки и оболочки входа по умолчанию. Zsh в значительной мере совместима с bash, но некоторые примеры в этой книге потребуют изменений.
Кстати, если эффективность имеет большое значение, объявите переменную цикла как целочисленную, добавив инструкцию declare -i i в начало сценария, это позволит избежать ресурсоемких преобразований из строки в число и обратно.
Обратите внимание, что крайняя левая команда выполняется всегда, независимо от следующего за ней оператора: порядок вычислений определяется не приоритетом операторов, а их последовательностью.
Итак, две команды, разделенные символами &&, похожи на оператор if и его ветку then; две команды, разделенные символами ||, похожи на оператор if и его ветку else.