Что делает передача параметров -xe в / bin / bash


59

Именно то, что говорит название. Мне не повезло найти нужную документацию, чтобы увидеть, что -xe делает в следующем случае:

#!/bin/bash -xe

что делают эти параметры и где это задокументировано?


Вы говорите о параметрах, которые передаются в двоичный файл BASH, или вы говорите о функциях и параметрах в языке сценариев BASH?
Ричард Келлер

Ссылаясь на параметры, которые передаются в двоичный файл BASH, например: #! / Bin / bash -xe
образный

Ответы:


56

Если вы прочитали справочную страницу, bashвы найдете следующее в верхней части OPTIONSраздела:

 Все односимвольные параметры оболочки описаны в
 описание встроенной команды set можно использовать в качестве параметров, когда
 оболочка вызывается. Кроме того, Bash интерпретирует следующие параметры
 когда он вызывается ...

И если вы setпозже прочитаете документацию по команде на странице руководства, вы найдете:

 -e немедленно выйти, если конвейер (который может состоять из
 одна простая команда), команда subshell, заключенная в скобки,
 или одна из команд, выполняемых как часть списка команд, заключенного в
 фигурные скобки (см. ОБРАЗЕЦ ОБОЛОЧКИ выше) выходят с ненулевым статусом. 

 -x После развертывания каждой простой команды, для команды, дела
 команда, выберите команду или арифметика для команды, дисплей
 расширенное значение PS4, за которым следуют команда и ее
 расширенные аргументы или связанный список слов.

Другими словами, -eзаставляет оболочку завершать работу немедленно, когда что-то возвращает ошибку (это часто используется в сценариях оболочки как отказоустойчивый механизм), и -xобеспечивает подробное выполнение сценариев, чтобы вы могли видеть, что происходит.


10

Введите следующее на своей консоли, чтобы получить объяснение аргументов BASH:

bash -c "help set"

Чтобы ответить на ваш вопрос:

-e Выйти немедленно, если команда выходит с ненулевым статусом.

-x Команды печати и их аргументы по мере их выполнения.



2

Думаете ли вы о вещах, где вы делаете set -x set -e set -...? Бег help setдает тех.


1
Я думаю об используемых параметрах, таких как: #! / Bin / bash -xe
образный

0

Где лучше всего почитать документацию о том, какие параметры передаются в bash, такие как -x и -e? Я попробовал man 1 bash, но там, похоже, нет.

Прочтите раздел ОПЦИИ на странице руководства basj.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.