Guide To UNIX Using Linux Third Edition

Slides:



Advertisements
Similar presentations
A Guide to Unix Using Linux Fourth Edition
Advertisements

A Guide to Unix Using Linux Fourth Edition
A Guide to Unix Using Linux Fourth Edition
NETW-240 Shells Last Update Copyright Kenneth M. Chipps Ph.D. 1.
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
Linux+ Guide to Linux Certification, Second Edition
Shell Basics CS465 - Unix. Shell Basics Shells provide: –Command interpretation –Multiple commands on a single line –Expansion of wildcard filenames –Redirection.
Now, return to the Unix Unix shells: Subshells--- Variable---1. Local 2. Environmental.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Guide to Linux Installation and Administration, 2e1 Chapter 6 Using the Shell and Text Files.
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Fundamentals of Python: From First Programs Through Data Structures
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
Advanced Shell Programming. 2 Objectives Use techniques to ensure a script is employing the correct shell Set the default shell Configure Bash login and.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 12.
Agenda Control Flow Statements Purpose test statement if / elif / else Statements for loops while vs. until statements case statement break vs. continue.
Introduction to Shell Script Programming
8 Shell Programming Mauro Jaskelioff. Introduction Environment variables –How to use and assign them –Your PATH variable Introduction to shell programming.
Week 7 Working with the BASH Shell. Objectives  Redirect the input and output of a command  Identify and manipulate common shell environment variables.
Agenda User Profile File (.profile) –Keyword Shell Variables Linux (Unix) filters –Purpose –Commands: grep, sort, awk cut, tr, wc, spell.
Guide To UNIX Using Linux Fourth Edition
Chapter 6: Shell Programming
An Introduction to Unix Shell Scripting
The UNIX Shell. The Shell Program that constantly runs at terminal after a user has logged in. Prompts the user and waits for user input. Interprets command.
Shell Features CSCI N321 – System and Network Administration Copyright © 2000, 2005 by Scott Orr and the Trustees of Indiana University.
Input, Output, and Processing
Shell Script Programming. 2 Using UNIX Shell Scripts Unlike high-level language programs, shell scripts do not have to be converted into machine language.
Linux+ Guide to Linux Certification, Third Edition
Linux Operations and Administration
Chapter Five Advanced File Processing Guide To UNIX Using Linux Fourth Edition Chapter 5 Unix (34 slides)1 CTEC 110.
Shell Programming. Introducing UNIX Shells  Shell is also a programming language and provides various features like variables, branching, looping and.
Linux+ Guide to Linux Certification Chapter Eight Working with the BASH Shell.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Review Chapters 5 thru 8. 2 Two Groups of Commands Select commands Manipulate and Format commands.
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
Chapter Three The UNIX Editors.
Writing Scripts Hadi Otrok COEN 346.
Linux+ Guide to Linux Certification, Third Edition
©Colin Jamison 2004 Shell scripting in Linux Colin Jamison.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
Chapter Six Introduction to Shell Script Programming.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
Agenda Positional Parameters / Continued... Command Substitution Bourne Shell / Bash Shell / Korn Shell Mathematical Expressions Bourne Shell / Bash Shell.
Agenda The Bourne Shell – Part II Special Characters Ambiguous File Reference Variable Names and Values User Created Variables Read-only Variables (Positional.
Linux+ Guide to Linux Certification, Second Edition
Lesson 8-Specifying Instructions to the Shell. Overview An overview of shell. Execution of commands in a shell. Shell command-line expansion. Customizing.
Linux Administration Working with the BASH Shell.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Topics Designing a Program Input, Processing, and Output
Department of Computer Engineering
SUSE Linux Enterprise Desktop Administration
Shell Features CSCI N321 – System and Network Administration
Agenda Korn Shell Functions Korn Shell Variables
Guide To UNIX Using Linux Third Edition
Topics Introduction to File Input and Output
Guide To UNIX Using Linux Third Edition
CSCI The UNIX System Shell Startup and Variables
Linux Shell Script Programming
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Introduction to Bash Programming, part 3
Topics Introduction to File Input and Output
Presentation transcript:

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

Objectives Understand the program development cycle Compare UNIX/Linux shells for creating scripts Use shell variables, operators, and wildcard characters Guide to UNIX Using Linux, Third Edition

Objectives (continued) Use shell logic structures Employ shell scripting to create a menu Use commands to help debug shell scripts Guide to UNIX Using Linux, Third Edition

Objectives (continued) Explain ways to customize your personal environment Use the trap command Develop a menu-based application Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

The Program Development Cycle Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 # Guide to UNIX Using Linux, Third Edition

The Programming Shell All Linux versions use the Bash shell as the default Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Environment and Configuration Variables (continued) Use the printenv variable to see a list of environment variables Guide to UNIX Using Linux, Third Edition

Environment and Configuration Variables (continued) Guide to UNIX Using Linux, Third Edition

Environment and Configuration Variables (continued) Guide to UNIX Using Linux, Third Edition

Environment and Configuration Variables (continued) Guide to UNIX Using Linux, Third Edition

Environment and Configuration Variables (continued) Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Shell Operators Bash shell operators are in four groups: Defining Evaluating Arithmetic Redirection Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Arithmetic Operators Guide to UNIX Using Linux, Third Edition

Arithmetic Operators (continued) Regular mathematical precedence rules apply to arithmetic operators To store arithmetic values in a variable, use let statement Guide to UNIX Using Linux, Third Edition

Redirection Operators The > redirection operator overwrites an existing file -o noclobber option of set command will prevent overwriting Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Shell Logic Structures Four basic logic structures needed for program development are: Sequential logic Decision logic Looping logic Case logic Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Looping Logic (continued) The for loop repeats for however many values there are in the specified set of values Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

Customizing Your Personal 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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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” Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition

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 Guide to UNIX Using Linux, Third Edition