Thursday, 25 August 2011

How to debug a shell script


Debugging a shell script is very essential to check your script for any errors before moving in to production. In this post we will see different debugging tips and tricks useful for running your scripts without a flaw.
Before debugging a script we have to learn how to write a shell script professionally in order to minimize the errors.
 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.
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.
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.
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…
sh –e scriptname
Tips:
1) Always use vim editor to get the syntax error at the time of editing the script itself.
2) Place brackets in a meaning full way using tabs.
3) Try to read and understand the script before running a script.
4) Try to give as many comments as possible for better understanding of the script.

No comments:

Post a Comment

Twitter Bird Gadget