Home arrow Shell Scripting arrow Writing and debugging scripts

Language Translator

Hacking Zone

Hacking Tools
Attacking

Configure Windows

Windows Configuration

Novels

Mix Novels

Human Personality

Body Language
Writing and debugging scripts PDF Print E-mail
Written by Hemanshu Patel   
Thursday, 27 December 2007
Article Index
Writing and debugging scripts
Page 2
Page 3
Page 4

2.2. Script basics

2.2.1. Which shell will run the script?

When running a script in a subshell, you should define which shell should run the script. The shell type in which you wrote the script might not be the default on your system, so commands you entered might result in errors when executed by the wrong shell.
The first line of the script determines the shell to start. The first two characters of the first line should be #!, then follows the path to the shell that should interpret the commands that follow. Blank lines are also considered to be lines, so don't start your script with an empty line.
For the purpose of this course, all scripts will start with the line


#!/bin/bash


As noted before, this implies that the Bash executable can be found in /bin.

 

2.2.2. Adding comments

 

You should be aware of the fact that you might not be the only person reading your code. A lot of users and system administrators run scripts that were written by other people. If they want to see how you did it, comments are useful to enlighten the reader.
Comments also make your own life easier. Say that you had to read a lot of man pages in order to achieve a particular result with some command that you used in your script. You won't remember how it worked if you need to change your script after a few weeks or months, unless you have commented what you did, how you did it and/or why you did it.
Take the script1.sh example and copy it to commented−script1.sh, which we edit so that the comments reflect what the script does. Everything the shell encounters after a hash mark on a line is ignored and only visible upon opening the shell script file:


#!/bin/bash
# This script clears the terminal, displays a greeting and gives information
# about currently connected users. The two example variables are set and displayed.
clear                                      # clear terminal window
echo "The script starts now."
echo "Hi, $USER!"                          # dollar sign is used to get content of variable
echo
echo "I will now fetch you a list of connected users:"
echo
w                                          # show who is logged on and
echo                                       # what they are doing
echo "I'm setting two variables now."
COLOUR="black"                                               # set a local shell variable
VALUE="9"                                                    # set a local shell variable
echo "This is a string: $COLOUR"                             # display content of variable
echo "And this is a number: $VALUE"                          # display content of variable
echo
echo "I'm giving you back your prompt now."
echo


In a decent script, the first lines are usually comment about what to expect. Then each big chunk of commands will be commented as needed for clarity's sake. Linux init scripts, as an example, in your system's init.d directory, are usually well commented since they have to be readable and editable by everyone running Linux.



Last Updated ( Thursday, 27 December 2007 )
 
< Prev   Next >
Your Ad Here

Donate us!!

Enter Amount:

RSS socialnet

Add to MyYahoo!
Subscribe in NewsGator Online
Add to Newsburst
Add to Google
Add to My AOL
Add to Pluck
Subscribe in FeedLounge
Add to Windows Live
Add to NetVibes
Subscribe in Rojo
Subscribe in Bloglines
Add to MyMSN
Add to Plusmo for your cellphone
Add to PageFlakes
Add to Technorati
Add to BlinkBits