Difference between revisions of "Debug a script"
Jump to navigation
Jump to search
(Created page with 'You need to run a shell script with -x option from the command line itself: <source lang="bash">bash -x script-name</source> OR <source lang="bash">bash -xv script-name</source> …') |
|||
Line 28: | Line 28: | ||
# Add more commands without debug mode | # Add more commands without debug mode | ||
</source> | </source> | ||
+ | ==External links== | ||
+ | * [http://www.cyberciti.biz/tips/debugging-shell-script.html How to debug a Shell] Script under Linux or UNIX. |
Revision as of 13:40, 31 August 2009
You need to run a shell script with -x option from the command line itself:
bash -x script-name
OR
bash -xv script-name
You can also modify shebang line to run an entire script in debugging mode:
#!/bin/bash -x
echo "Hello ${LOGNAME}"
echo "Today is $(date)"
echo "Users currently on the machine, and their processes:"
w
Use of set builtin command
Bash shell offers debugging options which can be turn on or off using set command.
- set -x : Display commands and their arguments as they are executed.
- set -v : Display shell input lines as they are read.
#!/bin/bash
### Turn on debug mode ###
set -x
# Run shell commands
echo "Hello ${LOGNAME}"
echo "Today is $(date)"
echo "Users currently on the machine, and their processes:"
w
### Turn OFF debug mode ###
set +x
# Add more commands without debug mode
External links
- How to debug a Shell Script under Linux or UNIX.