Home arrow Shell Scripting arrow Bash and Bash scripts

Language Translator

Hacking Zone

Hacking Tools
Attacking

Configure Windows

Windows Configuration

Novels

Mix Novels

Human Personality

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

1.3. Executing commands

1.3.1. General

Bash determines the type of program that is to be executed. Normal programs are system commands that exist
in compiled form on your system. When such a program is executed, a new process is created because Bash
makes an exact copy of itself. This child process has the same environment as its parent, only the process ID
number is different. This procedure is called forking.
After the forking process, the address space of the child process is overwritten with the new process data. This
is done through an exec call to the system.
The fork−and−exec mechanism thus switches an old command with a new, while the environment in which
the new program is executed remains the same, including configuration of input and output devices,
environment variables and priority. This mechanism is used to create all UNIX processes, so it also applies to
the Linux operating system. Even the first process, init, with process ID 1, is forked during the boot procedure
in the so−called bootstrapping procedure.

 

1.3.2. Shell built−in commands

Built−in commands are contained within the shell itself. When the name of a built−in command is used as the
first word of a simple command, the shell executes the command directly, without creating a new process.
Built−in commands are necessary to implement functionality impossible or inconvenient to obtain with
separate utilities.
Bash supports 3 types of built−in commands:
       • Bourne Shell built−ins:
         :, ., break, cd, continue, eval, exec, exit, export, getopts, hash, pwd, readonly, return, set, shift,
         test, [, times, trap, umask and unset.
       • Bash built−in commands:
         alias, bind, builtin, command, declare, echo, enable, help, let, local, logout, printf, read, shopt,
         type, typeset, ulimit and unalias.
       • Special built−in commands:
         When Bash is executing in POSIX mode, the special built−ins differ from other built−in commands in
         three respects:
                1. Special built−ins are found before shell functions during command lookup.
                2. If a special built−in returns an error status, a non−interactive shell exits.
                3. Assignment statements preceding the command stay in effect in the shell environment after
                   the command completes.
         The POSIX special built−ins are :, ., break, continue, eval, exec, exit, export, readonly, return, set,
         shift, trap and unset.
Most of these built−ins will be discussed in the next chapters. For those commands for which this is not the
case, we refer to the Info pages.

 

1.3.3. Executing programs from a script

When the program being executed is a shell script, bash will create a new bash process using a fork. This
subshell reads the lines from the shell script one line at a time. Commands on each line are read, interpreted
and executed as if they would have come directly from the keyboard.
While the subshell processes each line of the script, the parent shell waits for its child process to finish. When
there are no more lines in the shell script to read, the subshell terminates. The parent shell awakes and
displays a new prompt.



Last Updated ( Thursday, 27 December 2007 )
 
< Prev
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
Powered password keylogger is a driver-based software keylogger by Eltima

Tired of MS Office ? Try Ashampoo Office 2008 . All OS supported