O que passa os parâmetros -xe para / bin / bash faz


59

Exatamente o que o título diz. Não estou tendo muita sorte em encontrar a documentação adequada para ver o que -xe faz no seguinte caso de uso:

#!/bin/bash -xe

o que esses parâmetros fazem e onde estão documentados?


Você está falando sobre parâmetros que são passados ​​para o binário BASH ou sobre funções e parâmetros na linguagem de script BASH?
Richard Keller

Referindo-se aos parâmetros que são passados ​​para o binário BASH, como: #! / Bin / bash -xe
imaginativo

Respostas:


56

Se você ler a página de manual, bashencontrará o seguinte na parte superior da OPTIONSseção:

 Todas as opções de shell de caractere único documentadas no
 A descrição do comando set builtin pode ser usada como opções quando o
 shell é invocado. Além disso, o bash interpreta as seguintes opções
 quando é invocado ...

E se você ler a documentação do setcomando posteriormente na página de manual, encontrará:

 -e Saia imediatamente se um pipeline (que pode consistir em um
 único comando simples), um comando subshell entre parênteses,
 ou um dos comandos executados como parte de uma lista de comandos incluída por
 chaves (consulte SHAM GRAMMAR acima) sai com um status diferente de zero. 

 -x Após expandir cada comando simples, para comando, caso
 comando, selecione comando ou aritmética para comando, exibir
 o valor expandido do PS4, seguido pelo comando e seu
 argumentos expandidos ou lista de palavras associada.

Em outras palavras, -efaz com que o shell saia imediatamente sempre que algo retornar um erro (isso geralmente é usado em scripts de shell como um mecanismo à prova de falhas) e -xpermite a execução detalhada de scripts para que você possa ver o que está acontecendo.


10

Digite o seguinte no seu console para obter uma explicação dos argumentos BASH:

bash -c "help set"

Para responder sua pergunta:

-e Saia imediatamente se um comando sair com um status diferente de zero.

-x Imprima comandos e seus argumentos à medida que são executados.


4

Na página de manual :

Todas as opções de shell de caractere único documentadas na descrição do comando set builtin podem ser usadas como opções quando o shell é chamado.

Então dê uma olhada no conjunto embutido .


2

Você está pensando nas coisas em que você define -x set -e set -...? correr help setdá isso.


1
Estou pensando em parâmetros usados ​​como o seguinte: #! / Bin / bash -xe
imaginativo

0

Onde é o melhor lugar para ler a documentação sobre quais parâmetros são passados ​​para o bash, como -x e -e? Eu tentei o homem 1 bash, mas não parece ser coberto por lá.

Leia a seção OPTIONS da página de manual do basj.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.