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.
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
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.