Debugging a shell Script

Debugging a shell script is very essential to check your script for any errors before moving in to production. There are different debugging tips and tricks useful for running your scripts
without any flaw.

  • In order to minimize the errors we should write shell scripts in a
    proper way.
  • When executing a shell script use sh command with below
    options to debug a shell script in effective way. 
  • -x if you set this option, it will show you each
    line before it executes it. Comments will not be reported.
For example: sh –x scriptname
  • -v Echo’s each line as it is read. It’s a kind
    of verbose and even echo back commented lines too.
Example: sh –v scriptname
Note: A small difference between –x and –v is
that –v echo’s the line as it is read (So it will even
display comments too.), whereas –x flag causes each command to be
echoed as it is executed.

For Example: sh –xv scriptname
  • -u –At times you use a variable without setting
    some value to it. If you use this flag it will give you the error
    saying so and so variable is not set before executing the script.
  • -e –Exit the shell script if any error occurs.
    This option will stop the script to run further once the script
    encounters an error. Use full for debugging the first error
    itself when running big scripts…

Example: sh –e scriptname
  • Always use vim editor to get the syntax error at the time of editing
    the script itself.
  • Place
    brackets in a meaning full way using tabs.
  • Try to read and understand the script before running a script.
  • Try
    to give as many comments as possible for better understanding of the