Tracing

-x in Command Line

  1. $ /bin/bash -x my_script.sh

-x in Script

  1. #!/bin/bash -x
  2. ...

Turn on/off tracing with set

  1. #!/bin/bash
  2. number=1
  3. set -x # Turn on tracing
  4. if [ $number = 1 ]; then
  5. echo "Number is equal to 1."
  6. else
  7. echo "Number is not equal to 1."
  8. fi
  9. set +x # Turn off tracing

Change PS4

  1. $ export PS4='$LINENO + '
  2. $ ./trouble.sh
  3. 5 + number=1
  4. 7 + '[' 1 = 1 ']'
  5. 8 + echo 'Number is equal to 1.'
  6. Number is equal to 1.