Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14092

(enhancement request) Limiting depth of xtrace enabled

From Carl Ponder <cponder@nvidia.com>
Newsgroups gnu.bash.bug
Subject (enhancement request) Limiting depth of xtrace enabled
Date 2018-05-05 10:36 -0500
Message-ID <mailman.13443.1525554062.27995.bug-bash@gnu.org> (permalink)

Show all headers | View raw


(I'm sending this request to bug-bash since that's what the GNU/bash 
documention said to do.
I'm also CC'ing the lmod-users community since this would be of interest 
to them.
I don't know how broadly you would want to reply to this.)

I use #!/bash -eux in almost all my scripts, so I can quickly figure out 
if they were doing anything wrong.
Using "modules", though, I hit a problem that the module commands all 
print out huge amounts of output from the environment settings they make.
The problem is that "regular" linux commands just print out like

    + ls

but the module command is an alias to a bash function, so all its 
contents are traced as well.
My current workaround is to redefine module (Lmod version) as this

    function module
    {   set +o xtrace; eval $($LMOD_CMD bash "$@") && eval
    $(${LMOD_SETTARG_CMD:-:} -s sh); errcode=$?; set -o xtrace; return
    $errcode; }

which temporarily suspends the xtrace output and only prints out these 
extras

    + module load pgi
    *+ set +o xtrace**
    **+ return 0*
    + module list

I can live with this, but it's still a mess to explain to modules/Lmod 
users.
As far as I can tell, there's no real workaround in the modules/Lmod 
implementations since direct shell operations are the only way they can 
work.
On the bash side, though, a solution would be to limit the "depth" to 
which the xtrace setting would apply, so I could trace my top-level 
commands but not the contents of function calls, or only function calls 
up to a certain depth.
A syntax like this would be ok

export XTRACE_DEPTH=1

Would you consider it as an enhancement?

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

(enhancement request) Limiting depth of xtrace enabled Carl Ponder <cponder@nvidia.com> - 2018-05-05 10:36 -0500

csiph-web