Exibição de formatação de saída 'set -v'

3

A partir da descrição de set na página bash man :

-v   Print shell input lines as they are read.

Assim, o seguinte script de exemplo:

#!/usr/bin/env bash
# setv.sh
set -v
foo=bar
echo $foo

Gera saída:

foo=bar
echo $foo
bar

Existe uma maneira de adicionar uma string, digamos "+" para cada linha, para indicar claramente qual linha é uma linha do script e qual linha é a saída de uma linha do script. Usando o exemplo acima, a saída desejada seria:

+ foo=bar
+ echo $foo
bar
    
por mbigras 15.03.2018 / 21:07

1 resposta

3

Para obter esse tipo de resultado, você pode usar $BASH_COMMAND por exemplo adicione

trap 'printf "%s %s\n" + "$BASH_COMMAND" >&2' DEBUG

em vez de set -x/v no topo do seu script.

    
por 15.03.2018 / 22:08

Tags