Introduction to Shell Script Programming - PowerPoint PPT Presentation

1 / 47
About This Presentation
Title:

Introduction to Shell Script Programming

Description:

Chapter 6: Introduction to Shell Script Programming Guide To UNIX Using Linux Third Edition Objectives Understand the program development cycle Compare UNIX/Linux ... – PowerPoint PPT presentation

Number of Views:225
Avg rating:3.0/5.0
Slides: 48
Provided by: til487
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Shell Script Programming


1
Guide To UNIX Using Linux Third Edition
  • Chapter 6
  • Introduction to Shell Script Programming

2
Objectives
  • Understand the program development cycle
  • Compare UNIX/Linux shells for creating scripts
  • Use shell variables, operators, and wildcard
    characters

3
Objectives (continued)
  • Use shell logic structures
  • Employ shell scripting to create a menu
  • Use commands to help debug shell scripts

4
Objectives (continued)
  • Explain ways to customize your personal
    environment
  • Use the trap command
  • Develop a menu-based application

5
Previewing the Application
  • Shell scripts can be used to customize your
    environment
  • Will develop a simulated employee information
    system using shell scripts
  • Will gain experience with shell variables, shell
    script operators, and logic structures

6
The Program Development Cycle
  • The program development cycle is the process of
    developing an application
  • First step is to create program specifications
  • Second step is to create the program design
  • Third step is developing the code, which is
    written, tested, and debugged

7
The Program Development Cycle
8
Using High-Level Languages
  • High-level languages are computer languages that
    use English-like expressions
  • Examples are COBOL, C, C
  • High-level language statements are stored in a
    source file, which programmers create using an
    editor

9
Using High-Level Languages (continued)
  • High-level source files must be converted into a
    low-level machine language file
  • A compiler is a program that converts source
    files into executable machine-language files
  • If a source file contains syntax errors, it
    cannot be converted into an executable file
  • A programmer must correct these errors before the
    program can be run

10
Using UNIX/Linux Shell Scripts
  • Unlike high-level language programs, shell
    scripts do not have to be converted into machine
    language
  • The UNIX/Linux shell acts as an interpreter when
    reading script files
  • Interpreters read statements in script files and
    immediately translate them into executable
    instructions and run them

11
Using UNIX/Linux Shell Scripts(continued)
  • After creating shell script, the OS is instructed
    that the file is an executable shell script via
    the chmod command
  • Script files can be run in several ways
  • Set the path variable and type the script name at
    the command prompt
  • Type ./filename if script is in current directory
  • Type the script name preceded by the full path

12
Prototyping an Application
  • A prototype is a running model of your
    application
  • Less detail, less design time than a full
    application
  • Shows potential without full programming effort
  • Shell scripts can be used to prototype
    applications that will later be moved to compiled
    languages

13
Using Comments
  • Comments are important!
  • Provide useful documentation to both the
    programmer and to others who need to understand
    or debug the code
  • To use, start comment line with a

14
The Programming Shell
All Linux versions use the Bash shell as the
default
15
Variables
  • Variables are symbolic names that represent
    values stored in memory
  • Three types of variables
  • Configuration variables store information about
    the setup of the OS
  • Environment variables hold information about your
    login session
  • Shell variables are created at the command prompt
    or in shell scripts and are used to temporarily
    store information

16
Environment and Configuration Variables
  • Environment and configuration variables can be
    used to set up and personalize your sessions
  • The printenv command shows current environment
    and configuration variables

17
Environment and Configuration Variables
(continued)
Use the printenv variable to see a list of
environment variables
18
Environment and Configuration Variables
(continued)
19
Environment and Configuration Variables
(continued)
20
Environment and Configuration Variables
(continued)
21
Environment and Configuration Variables
(continued)
22
Shell Variables
  • Variables that you can define and manipulate for
    use with program commands in a shell
  • Observe basic guidelines for handling and naming
    shell variables

23
Shell Operators
  • Bash shell operators are in four groups
  • Defining
  • Evaluating
  • Arithmetic
  • Redirection

24
Defining Operators
  • Used to assign a value to a variable
  • Most common is (equal sign)
  • Use quotation marks with strings
  • Backquote says execute the command inside the
    backquotes and store the result in the variable

25
Evaluating Operators
  • Used for determining the contents of a variable
  • echo variablename will show the value of
    variablename
  • Double quotes can be used, but not single quotes

26
Arithmetic Operators
27
Arithmetic Operators (continued)
  • Regular mathematical precedence rules apply to
    arithmetic operators

To store arithmetic values in a variable, use let
statement
28
Redirection Operators
  • The gt redirection operator overwrites an existing
    file
  • -o noclobber option of set command will prevent
    overwriting

29
Exporting Shell Variables to the Environment
  • Shell scripts cannot automatically access
    variables created and assigned
  • On the command line
  • By other scripts
  • Make variables global in your environment by
    using the export command

30
Modifying the PATH Variable
  • PATH variable controls where your shell will look
    for shell scripts
  • You can add directories to your PATH
  • Special directories for scripts
  • Your current working directory

31
More About Wildcard Characters
  • Shell scripts often use wildcard characters
  • Wildcard characters are called glob characters
    and are a part of glob patterns
  • Glob patterns are intended to match filenames and
    words
  • Question mark (?) matches one character
  • Asterisk () matches zero or more characters
  • chars defines a class of characters, the glob
    pattern matches any character in the class

32
Shell Logic Structures
  • Four basic logic structures needed for program
    development are
  • Sequential logic
  • Decision logic
  • Looping logic
  • Case logic

33
Sequential Logic
  • Commands are executed in the order in which they
    appear in the script or program
  • The only break in this sequence comes when a
    branch instruction changes the flow of execution
    by redirecting to another location in the script
    or program
  • Used for simple, straightforward command sequences

34
Decision Logic
  • Enables your script or program to execute a
    statement or series of statements only if a
    certain condition exists
  • In many cases, the condition depends upon the
    result of a command or on a comparison
  • The if statement is the primary decision-making
    control structure in this type of logic

35
Looping Logic
  • A control structure repeats until some condition
    exists or some action occurs
  • Two common looping mechanisms
  • for loops cycle through a range of values until
    the last in a set of values is reached
  • The while loop cycles as long as a particular
    condition exists

36
Looping Logic (continued)
The for loop repeats for however many values
there are in the specified set of values
37
Looping Logic (continued)
  • Program control structures can be entered from
    the command line
  • Wildcard characters can be used in loops
  • The while loop is set up to test repeatedly for a
    matching condition
  • The while loop is used when code must be
    repeatedly executed an undetermined number of
    times

38
Case Logic
  • The case logic structure simplifies the selection
    from a list of choices
  • It allows the script to perform one of many
    actions, depending on the value of a variable
  • Two semicolons () terminate the actions taken
    after the case matches what is being tested

39
Using Shell Scripting to Create a Menu
  • Often useful to create a menu that branches to
    specific shell scripts
  • The tput command is useful when creating menus
  • Can initialize the terminal display to place text
    and prompts in specific locations and respond to
    the user

40
Debugging a Shell Script
  • A shell script will not execute if there is an
    error in one or more commands
  • Running a shell script using sh enables quick
    debugging of problems
  • sh -v option displays lines of code in the script
    as they are read by the interpreter
  • sh -x option displays the command and its
    arguments line by line as they are run

41
Customizing YourPersonal Environment
  • When programming and shell scripting, customizing
    your environment by modifying the initial
    settings in the login scripts provides many
    benefits
  • Login scripts run just after logging in
  • Setting up personal bin directories and modify
    editor defaults are common customizations

42
Customizing Your Personal Environment (continued)
  • An alias is a name that represents another
    command
  • The .bashrc file in your home directory is used
    to establish customizations that take effect at
    each login
  • The .bashrc script is executed each time a shell
    is generated, such as when shell scripts are run

43
The trap Command
  • The trap command causes a shell program to
    automatically remove temporary files created when
    shell scripts run
  • Programmers often set up a subdirectory to store
    temporary files, and when a script file exits,
    trap removes the files
  • Having files removed from a temporary directory
    like this is considered good housekeeping

44
Putting It All Together in an Application
  • Applications require you to
  • Assign and manage variables
  • Use shell operators
  • Employ shell logic structures
  • Use additional wildcard characters
  • Use tput for managing screen initialization
  • Use trap to clean up temporary files
  • Will use these skills to build a shell script
    application in Hands-on Project

45
Chapter Summary
  • A high-level language uses English-like
    expressions and must be converted into a
    low-level language before being executed
  • The shell interprets shell scripts
  • Linux shells are derived from the UNIX Bourne,
    Korn and C shells, and bash is the default

46
Chapter Summary (continued)
  • UNIX/Linux uses three types of variables
    configuration, environment, and shell
  • Shell operators include defining, evaluating,
    arithmetic, and redirection
  • Wildcard characters are used in shell scripts
  • The logic structures supported are sequential,
    decision, looping and case

47
Chapter Summary (continued)
  • The tput command manages cursor placement on the
    screen
  • Programmers and system administrators often
    customize the .bashrc file
  • Aliases simplify common commands can be entered
    into the .bashrc
  • Use the trap command to remove temporary files
    after the script exits
Write a Comment
User Comments (0)
About PowerShow.com