School of Computer Science and Information Technology Devi Ahilya Vishwavidyalaya Shell Scripting

Slides:



Advertisements
Similar presentations
Shell Script Assignment 1.
Advertisements

UNIX Chapter 12 Redirection and Piping Mr. Mohammad Smirat.
CIS 118 – Intro to UNIX Shells 1. 2 What is a shell? Bourne shell – Developed by Steve Bourne at AT&T Korn shell – Developed by David Korn at AT&T C-shell.
Chapter One The Essence of UNIX.
A Guide to Unix Using Linux Fourth Edition
CS 497C – Introduction to UNIX Lecture 22: - The Shell Chin-Chih Chang
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
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.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Lecture 02CS311 – Operating Systems 1 1 CS311 – Lecture 02 Outline UNIX/Linux features – Redirection – pipes – Terminating a command – Running program.
Unix Shell Scripts. What are scripts ? Text files in certain format that are run by another program Examples: –Perl –Javascript –Shell scripts (we learn.
Unix Filters Text processing utilities. Filters Filter commands – Unix commands that serve dual purposes: –standalone –used with other commands and pipes.
UNIX Filters.
Shell Script Examples.
Linux Commands LINUX COMMANDS.
Second edition Your UNIX: The Ultimate Guide Das © 2006 The McGraw-Hill Companies, Inc. All rights reserved. UNIX – Shell Programming The activities of.
Advanced File Processing
Linux environment ● Graphical interface – X-window + window manager ● Text interface – terminal + shell.
Introduction to Shell Script Programming
1 Operating Systems Lecture 3 Shell Scripts. 2 Brief review of unix1.txt n Glob Construct (metacharacters) and other special characters F ?, *, [] F Ex.
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.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Guide To UNIX Using Linux Fourth Edition
LIN 6932 Unix Lecture 6 Hana Filip. LIN 6932 HW6 - Part II solutions posted on my website see syllabus.
A Guide to Unix Using Linux Fourth Edition
Introduction to Unix (CA263) File Processing. Guide to UNIX Using Linux, Third Edition 2 Objectives Explain UNIX and Linux file processing Use basic file.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Advanced File Processing. 2 Objectives Use the pipe operator to redirect the output of one command to another command Use the grep command to search for.
Linux+ Guide to Linux Certification, Third Edition
UNIX Shell Script (1) Dr. Tran, Van Hoai Faculty of Computer Science and Engineering HCMC Uni. of Technology
Chapter Five Advanced File Processing Guide To UNIX Using Linux Fourth Edition Chapter 5 Unix (34 slides)1 CTEC 110.
Chapter Five Advanced File Processing. 2 Objectives Use the pipe operator to redirect the output of one command to another command Use the grep command.
Module 6 – Redirections, Pipes and Power Tools.. STDin 0 STDout 1 STDerr 2 Redirections.
Agenda Regular Expressions (Appendix A in Text) –Definition / Purpose –Commands that Use Regular Expressions –Using Regular Expressions –Using the Replacement.
Agenda Link of the week Use of Virtual Machine Review week one lab assignment This week’s expected outcomes Review next lab assignments Break Out Problems.
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
Chapter Four I/O Redirection1 System Programming Shell Operators.
Chapter Six Introduction to Shell Script Programming.
Week 9 - Nov 7, Week 9 Agenda I/O redirection I/O redirection pipe pipe tee tee.
Week Two Agenda Announcements Link of the week Use of Virtual Machine Review week one lab assignment This week’s expected outcomes Next lab assignments.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
– Introduction to the Shell 1/21/2016 Introduction to the Shell – Session Introduction to the Shell – Session 3 · Job control · Start,
Linux+ Guide to Linux Certification, Second Edition
Lecture 1: Introduction, Basic UNIX Advanced Programming Techniques.
ORAFACT Text Processing. ORAFACT Searching Inside Files grep - searches for patterns within files grep [options] [[-e] pattern] filename [...] -n shows.
Lesson 6-Using Utilities to Accomplish Complex Tasks.
Agenda The Bourne Shell – Part I Redirection ( >, >>,
File Processing. Introduction More UNIX commands for handling files Regular Expressions and Searching files Redirection and pipes Bash facilities.
CS 403: Programming Languages Lecture 20 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Linux Administration Working with the BASH Shell.
Filters and Utilities. Notes: This is a simple overview of the filtering capability Some of these commands are very powerful ▫Only showing some of the.
Lesson 5-Exploring Utilities
CIRC Summer School 2017 Baowei Liu
Shell Script Assignment 1.
INTRODUCTION TO UNIX: The Shell Command Interface
Tutorial of Unix Command & shell scriptS 5027
Tutorial of Unix Command & shell scriptS 5027
Guide To UNIX Using Linux Third Edition
Tutorial of Unix Command & shell scriptS 5027
Chapter Four UNIX File Processing.
More advanced BASH usage
Linux Shell Script Programming
Chapter 3 The UNIX Shells
Presentation transcript:

School of Computer Science and Information Technology Devi Ahilya Vishwavidyalaya Shell Scripting

SCSIT DAVV Applications of Shell Scripts  Task 1: There is a text file having data in columns. Store a particular column in a different file.  Task 2: Sort a file.  Task 3: Apply sorting in the output file of Task 1.  Task 4: Store only unique data in the output file.

SCSIT DAVV Applications of Shell Scripts  Task 5: Store the data which satisfy the given condition.  Task 6: Transfer the file to the client’s machine for the further processing.  Task 7: Determine whether the executed program completed successfully or not.  Task 8: In case of failure produce the signal for error.

SCSIT DAVV Solution #!/bin/ksh HOST=‘ftp.myserverid.mydomain’ USER=‘MyUserid’ PASSWD=‘MyPassword‘ FILE=“filename” OUTFILE=“newfile” MAILINGLIST=“supportmail.lst” LOG=“logfile” cut –c5,6 $FILE| sort| uniq > $OUTFILE awk '{if ($2 > 30) print $1}‘ $OUTFILE

SCSIT DAVV Solution ftp -n $HOST > /tmp/ftp.worked 2> /tmp/ftp.failed <<END_SCRIPT user $USER pass $PASSWD put $FILE quit END_SCRIPT EXITSTATUS=$? if [ $EXITSTATUS != "0" ] then for PEOPLE in `cat $MAILINGLIST` do /usr/bin/mailx –s “a process is failed” $PEOPLE [$? –ne 0] && echo “$PEOPLE mailx failed” >>$LOG done fi

SCSIT DAVV Applications of Shell Scripts  Requirement: Need to execute a program on a particular time (System time). ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Logging the information about the execution of a job. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Need to execute a program on a particular time (System time) but after successful completion of a job. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Need to execute a program on a particular time (System time) but after successful completion of a job. Also check for the existence of a particular file. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Need to know that whether a particular job completed successfully or not. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Sending Mail/ SMS in case of error in the execution. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Working like database on the text files. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Fetching columns/ rows from a file, counting the records, filtering the data, sorting the data, Pattern matching/ replacing. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Handling CSV Files. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Periodic Monitoring the system activities like disk space utilization etc. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Sending / Receiving data to / from Remote location/computer. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Checking for the existence and permission for a file. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: System administrators, for automating many aspects of computer maintenance, user account creation etc. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Application package installation tools. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Application startup scripts, especially unattended applications. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Data Synchronization. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Interface between Os and other tools/language like Java, Oracle, FTP. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Log Rotation. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Purging of old files and data. ?

SCSIT DAVV Applications of Shell Scripts  Requirement: Removing blank files and File comparison. ?

SCSIT DAVV The Shell & Shell Script  A shell is a command interpreter turns the input text in to actions.  Bourne Shell  Bourne Again Shell  Korn Shell  C Shell  etc  A Shell Script is a logical sequence of commands.

SCSIT DAVV The Anatomy of a Command  grep –i localhost /etc/hosts Command Option Arguments Options Change the behavior of a command Arguments control what the command act upon

SCSIT DAVV Running the Shell Script  Type the name of a program and some command line options.  The shell reads this line, finds the program and runs it, feeding it the specified options.  The shell establishes 3 I/O channels:  Standard Input  Standard Output  Standard Error

SCSIT DAVV The Shebang (#!)  The Shebang is a special comment.  It specifies which shell to use to execute this shell script.  If no “#!” found, the current shell will be used to run the script.  Example #!/bin/ksh

SCSIT DAVV Two ways to execute the Shell  Set the permission attributes as a executable file then execute it like a command. OR  Invoke the shell explicitly. sh backup8pm.sh

SCSIT DAVV Debugging the Shell Script  Running a script in debug mode will print each line of shell script before it executes.  Enable debug mode after adding the –v after shell interpreter’s name in Shebang.

SCSIT DAVV Advantages  Writing a shell script is much quicker than writing the equivalent code in other programming or scripting languages.  Shell scripts have no compilation step, so the script can be executed quickly while debugging.

SCSIT DAVV Disadvantages  One significant disadvantage of using shell scripts is that they can run slowly due to the need to create potentially many new sub-processes for each of the many commands executed.  Simple sh scripts can be quite compatible with the extremely diverse range of Unix but more complex shell scripts can fail because of the many subtle differences between shells.

SCSIT DAVV Programs and Standard I/O Program Standard Input (STDIN) Standard Output (STDOUT) Standard Error (STDERR)

SCSIT DAVV Overwriting the Standard I/O Device  Input/ Output Redirection

SCSIT DAVV Pipes A pipe is a holder for a stream of data. A pipe can be used to hold the output of one program and feed it to the input of another. prog1 prog2 STDOUT STDIN

SCSIT DAVV Regular Expression  Regular Expressions provide a concise and flexible means for identifying text of interest.  Examples:  [abc] matches a single a b or c  [a-z] matches any of abcdef…xyz

SCSIT DAVV Regular Expression  Examples: .at matches any three-character string ending with "at", including "hat", "cat", and "bat".  [hc]at matches "hat" and "cat".  [^b]at matches all strings matched by.at except "bat".  ^[hc]at matches "hat" and "cat", but only at the beginning of the string or line.  [hc]at$ matches "hat" and "cat", but only at the end of the string or line.

SCSIT DAVV Regular Expression  Examples: .at matches any three-character string ending with "at", including "hat", "cat", and "bat".  [hc]at matches "hat" and "cat".  [^b]at matches all strings matched by.at except "bat".  ^[hc]at matches "hat" and "cat", but only at the beginning of the string or line.  [hc]at$ matches "hat" and "cat", but only at the end of the string or line.

SCSIT DAVV Regular Expression Used by  grep“Get Regular Expression and Print” – search files line by line  sedSimple Editing tool, right from the command line  awkScripting language, executes “program” on matching lines

SCSIT DAVV Important Commands (UNIX)  touch: create a new file / update timestamp of existing file.  grep: search for a specified string or pattern  chmod/ chown/ chgrp: Change permissions / ownership / group on a file  du/ df: Display hard disk information.  find:find a file  sort: sort a file into alphanumeric order (by lines.)  sed: Invoke the stream editor.  tr: Translate characters.  awk: Invoke the awk scripting language.  split: Split up a file into smaller chunks.

SCSIT DAVV Important Commands (UNIX)  at: Run a command / script at a specified time and date.  Cut: cut specified field(s)/ character(s) from lines in file(s)  more, less, and pg: page through a file  head/ tail: display the start/ end of a file  cmp: compare two files and list where differences occur (T/B)  diff : compare the two files and display the differences (T)  wc: display word (or character or line) count for file(s)  mail/ mailx/ Mail: simple utility available on Unix systems.  paste: The paste command allows two files to be combined side-by-side.

SCSIT DAVV Important Commands (WinNT)  AT: Schedule a command to run at a later time  ATTRIB: Change file attributes  CACLS: Change file permissions.  CleanMgr: Automated cleanup of Temp files, recycle bin  COMP: Compare the contents of two files or sets of files  FC: Compare two files  FDISK: Disk Format and partition  FIND: Search for a text string in a file  Magnify: Display windows magnification  MAPISEND: Send from the command line  MEM: Display memory usage

SCSIT DAVV Important Commands (WinNT)  MORE: Display output, one screen at a time  MSG: Send a message  NET: Manage network resources  PERFMON: Performance Monitor  QGREP: Search file(s) for lines that match a given pattern.  SCHTASKS: Create or Edit Scheduled Tasks  SCLIST: Display NT Services  SORT: Sort input  TOUCH: Change file timestamps  USRSTAT List domain usernames and last login

SCSIT DAVV Book for UNIX

SCSIT DAVV Book for WinNT

School of Computer Science and Information Technology Devi Ahilya Vishwavidyalaya Thank You Any Questions