Что значит ';;' имею в виду?

В чем смысл ;; в этом коде из ~/bashrc файл?

case $- in
    *i*) ;;
      *) return;;
esac

Могу ли я использовать ;; другими способами? и где?

3 ответа

Решение

От man bash:

          If the ;; operator is used, no subsequent matches are
          attempted after the first pattern match.  Using ;& in  place  of
          ;;  causes  execution  to continue with the list associated with
          the next set of patterns.  Using ;;& in place of ;;  causes  the
          shell  to  test  the next pattern list in the statement, if any,
          and execute any associated list on a successful match.

Так что нет, вы не можете использовать ";;" в другом месте, это специфичный для конкретного случая синтаксис в скриптах bash. Что касается значения, если вы заканчиваете каждый элемент case с помощью;;, он остановится после выполнения кода для первого совпадения. Если вы используете;& вместо этого, он выполнит первое совпадение, а затем продолжит поиск других совпадений, чтобы вы могли выполнить несколько действий совпадения.

Для получения дополнительной информации см.

http://linuxcommand.org/

а также

http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

Это конец одного элемента в вашем переключателе,
см. например: bash-case-Statement

Двойная точка с запятой указывает на конец ответвления. Увидеть help case Команда для деталей.

Другие вопросы по тегам