Що робить передача параметрів -xe в / bin / bash


59

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

#!/bin/bash -xe

що роблять ці параметри і де це зафіксовано?


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

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

Відповіді:


56

Якщо ви прочитаєте чоловічу сторінку, bashви знайдете наступне у верхній частині OPTIONSрозділу:

 Усі параметри оболонки з одним символом, задокументовані в
 Опис встановленої вбудованої команди може використовуватися як параметри, коли
 викликається оболонка. Крім того, bash інтерпретує наступні варіанти
 коли його викликають ...

А якщо ви прочитаєте документацію для setкоманди пізніше на сторінці man, ви знайдете:

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

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

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


10

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

bash -c "help set"

Щоб відповісти на ваше запитання:

-e Вийдіть негайно, якщо команда завершується із ненульовим статусом.

-x Друкуйте команди та їх аргументи під час їх виконання.




0

Де найкраще прочитати документацію щодо тих параметрів, які передаються до bash, такі як -x та -e? Я спробував людину 1 баш, але це, здається, не охоплене там.

Прочитайте розділ ВАРІАНТИ базової сторінки.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.