Você pode usar a opção set -x
. set -x
:
Print a trace of simple commands, for commands, case commands, select commands, and arithmetic for commands and their arguments or associated word lists after they are expanded and before they are executed. The value of the PS4 variable is expanded and the resultant value is printed before the command and its expanded arguments.
Se você escrever:
set -x
var="Hello world"
echo "I say: " $var
a saída será:
+ var='Hello world'
+ echo 'I say:' Hello world
I say: Hello world
O +
é o valor de PS4
. Para suprimi-lo, adicione PS4=
após sua linha set -x
ou altere-o definindo PS4
para outro valor.
set -x
também pode ser ativado com set -o xtrace
. Para desativar a opção novamente, use set +x
.
Se houver apenas alguns comandos que você deseja imprimir, você pode executá-los em um subshell:
( set -x ; echo "I say: " $var )
+ echo 'I say:' Hello world
I say: Hello world
Colocar o comando entre parênteses aplicará set -x
apenas para este comando e desativá-lo automaticamente no final.