Именно то, что говорит название. Мне не повезло найти нужную документацию, чтобы увидеть, что -xe делает в следующем случае:
#!/bin/bash -xe
что делают эти параметры и где это задокументировано?
Именно то, что говорит название. Мне не повезло найти нужную документацию, чтобы увидеть, что -xe делает в следующем случае:
#!/bin/bash -xe
что делают эти параметры и где это задокументировано?
Ответы:
Если вы прочитали справочную страницу, bash
вы найдете следующее в верхней части OPTIONS
раздела:
Все односимвольные параметры оболочки описаны в описание встроенной команды set можно использовать в качестве параметров, когда оболочка вызывается. Кроме того, Bash интерпретирует следующие параметры когда он вызывается ...
И если вы set
позже прочитаете документацию по команде на странице руководства, вы найдете:
-e немедленно выйти, если конвейер (который может состоять из одна простая команда), команда subshell, заключенная в скобки, или одна из команд, выполняемых как часть списка команд, заключенного в фигурные скобки (см. ОБРАЗЕЦ ОБОЛОЧКИ выше) выходят с ненулевым статусом. -x После развертывания каждой простой команды, для команды, дела команда, выберите команду или арифметика для команды, дисплей расширенное значение PS4, за которым следуют команда и ее расширенные аргументы или связанный список слов.
Другими словами, -e
заставляет оболочку завершать работу немедленно, когда что-то возвращает ошибку (это часто используется в сценариях оболочки как отказоустойчивый механизм), и -x
обеспечивает подробное выполнение сценариев, чтобы вы могли видеть, что происходит.
Введите следующее на своей консоли, чтобы получить объяснение аргументов BASH:
bash -c "help set"
Чтобы ответить на ваш вопрос:
-e
Выйти немедленно, если команда выходит с ненулевым статусом.
-x
Команды печати и их аргументы по мере их выполнения.
Из справочной страницы :
Все односимвольные параметры оболочки, описанные в описании встроенной команды set, можно использовать в качестве параметров при вызове оболочки.
Итак, взгляните на набор встроенных .
Думаете ли вы о вещах, где вы делаете set -x set -e set -...? Бег help set
дает тех.
Я использую превосходное справочное руководство по Bash в качестве единой документации по языку Bash. Я нашел это более полезным, чем справочные страницы. Соответствующий вам раздел (описание ключей -e, -x можно найти здесь: set builtin