Что передают параметры -xe в /bin /bash?

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

#!/bin/bash -xe

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

46 голосов | спросил imaginative 22 Mayam12 2012, 05:13:21

6 ответов


48

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

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

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

 -e Выйти немедленно, если трубопровод (который может состоять из
 простая простая команда), команда подголовника, заключенная в круглые скобки,
 или одна из команд, выполняемых как часть списка команд, заключенного в
 (см. SHELL GRAMMAR выше) выходит с ненулевым статусом.

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

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

ответил larsks 22 Mayam12 2012, 05:23:16
8

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

bash -c "help set"

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

-e Немедленно выйти, если команда завершает работу с ненулевым статусом.

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

ответил Richard Keller 22 Mayam12 2012, 05:25:12
4

Из manpage :

  

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

Итак, посмотрите set builtin .

ответил mgorven 22 Mayam12 2012, 03:46:11
2

Вы думаете о том, где вы устанавливаете -x set -e set -...? запускает набор help set.

ответил becomingwisest 22 Mayam12 2012, 03:45:43
0
  

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

Прочитайте раздел OPTIONS справочной страницы basj.

ответил fpmurphy1 22 Mayam12 2012, 05:43:49
0

Я использую отличное Справочное руководство Bash как единую документацию для языка Bash. Я нашел его более полезным, чем справочные страницы. Раздел, относящийся к вам (описание переключателей -e, -x можно найти здесь: set builtin

ответил mzet 22 Mayam12 2012, 10:00:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132