Skip Navigation
Jump
Tracing is your friend!
  • It's basically doing step by step print lines for you. If you have easy access to a bash prompt here's an example (for clarity, the lines leading with $ are what I typed into the shell. The lines without are what is output'd):


    $ set -x
    $ echo `expr 10 + 20 `
    ++ expr 10 + 20
    + echo 30
    30
    

    $ set +x
    $ echo `expr 10 + 20 `
    30
    

    You see how the first example broke down what happened bit by bit and the + noted the depth of interpretation for the line? This basically helps debug narly scripts ... which if they're narly enough ... just rewrite them in a "proper" language.

    What's that old google adage ( https://google.github.io/styleguide/shellguide.html )

    If you are writing a script that is more than 100 lines long, or that uses non-straightforward control flow logic, you should rewrite it in a more structured language now.

    1