Bash set +x without it being printed
Does anyone know if we can say set +x
in bash without it being printed:
set -x
command
set +x
traces
+ command
+ set +x
but it should just print
+ command
Bash is Version 4.1.10(4). This is bugging me for some time now - output is cluttered with useless set +x
lines, making the trace facility not as useful as it could be.
I had the same problem, and I was able to find a solution that doesn't use a subshell:
set -x
command
{ set +x; } 2>/dev/null
You can use a subshell. Upon exiting the subshell, the setting to x
will be lost:
( set -x ; command )