Bash Programming. Student Workbook
|
|
- Thomasina Malone
- 6 years ago
- Views:
Transcription
1 Student Workbook
2 Bash Programming Published by ITCourseware, LLC, 7245 South Havana Street, Suite 100, Englewood, CO Contributing Authors: Julie Johnson, Rob Roselius Editor: Jeff Howell Special thanks to: Many Shell instructors whose ideas and careful review have contributed to the quality of this workbook, including Brandon Caldwell, Roger Jones, Jim McNally, and Bill Parette, and the many students who have offered comments, suggestions, criticisms, and insights. Copyright 2002 by ITCourseware, LLC. All rights reserved. No part of this book may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording, or by an information storage retrieval system, without permission in writing from the publisher. Inquiries should be addressed to ITCourseware, LLC, 7245 South Havana Street, Suite 100, Englewood, CO (303) All brand names, product names, trademarks, and registered trademarks are the property of their respective owners. Page ii Rev ITCourseware, LLC
3 Contents Chapter 1 - Course Introduction... 7 Course Objectives... 8 Course Overview Using the Workbook Suggested References and Reading Chapter 2 - UNIX Processes What is a Process? Process Structure The ps Utility Options to the ps Utility Background Commands (&) Killing Background Processes Redirecting the Standard Error Labs Chapter 3 - Getting Started What is a Shell?...34 Running Scripts Specifying the Script's Interpreter The PATH Environment Variable Sub-shells Labs Chapter 4 - Variables Shell Variables The read Command The export Command The Shell Environment Parameter Expansion Command Substitution Labs ITCourseware, LLC Rev Page iii
4 Chapter 5 - The Login Process The Login Process The System Profile Script Your.bash_profile Script The. Command...70 Labs Chapter 6 - Conditional Statements The Exit Status of Commands Command Line Examples The test Command The if-then-else Construct The elif Construct case Statements...86 Labs Chapter 7 - Loops The for Loop The while Loop break and continue Reading Lines From Files Using Arrays with Loops Labs Chapter 8 - Special Variables $$ - PID of Shell Command-Line Arguments $# - Number of Arguments $* - All Arguments The shift Command The set Command Getting Options Labs Page iv Rev ITCourseware, LLC
5 Chapter 9 - Quoting Mechanisms Single vs. Double Quotes What is a Here Document? Using a Here Document Here Document Quoting Ignoring Leading Tabs Labs Chapter 10 - Functions Shell Functions Passing Arguments to Functions Returning Values from Functions Function Declarations Labs Chapter 11 - Advanced Programming Shell Arithmetic The select Statement Terminal Independence in Scripts The eval Command Labs Chapter 12 - Debugging Techniques Using echo Using Standard Error Script Tracing Options for Debugging Conditional Debugging Labs Solutions - Bash Programming Index ITCourseware, LLC Rev Page v
6 Page vi Rev ITCourseware, LLC
7 Chapter 4 Variables Chapter 4 - Variables Objectives Create and use shell variables on the command line and in scripts. Write shell scripts that interact with users by displaying prompts and reading their response. Pass variables from parent to child scripts using environment variables. Capture the output of a command and store it in a variable or use it as parameters to another command. Use variable substitution ITCourseware, LLC Rev Page 47
8 Shell Variables Variables (also called parameters) are set with the equal sign binary operator. The value of a variable is retrieved with the dollar sign unary operator. Command line example: myname=bobo echo $myname bobo echo myname myname # Same as: echo bobo $name dereferences (i.e., returns the value of) the variable name. Don t put spaces or tabs before or after the equal sign in name=value. Page 48 Rev ITCourseware, LLC
9 Chapter 4 Variables Shell variables (called parameters in the manual) are variables much like those found in any programming language. Their values are always stored as strings, but there are mathematical operators in the shell language that will convert variables to numbers for calculations. Nearly all scripts use variables. The term binary operator on the facing page means that the equal sign operator takes two operands: the name of a variable on the left, and the variable s intended value on the right. The term unary operator means that the dollar sign takes only one operand, the name of a variable. Consider once more the following: echo $myname bobo What really happens is that the shell substitutes the value of myname for $myname right on the command line, before executing the echo command. The dollar sign tells the shell to look at the value of the variable myname and then replace $myname with bobo. That is to say, change to echo $myname echo bobo before executing the echo command. This is known parsing the command line. The echo command never saw a $, never saw myname, never saw $myname. All echo saw was bobo ITCourseware, LLC Rev Page 49
10 The read Command The read command allows you to prompt for input and store it in a variable. nameit2 echo -n "Enter your name: " read name echo "Did you parents actually pick $name for you?" del echo -n "Enter name of file to delete: " read file echo "Type 'y' to remove it, 'n' to change your mind..." rm -i $file echo "That was YOUR decision!" The -n option to echo omits the final newline character. Page 50 Rev ITCourseware, LLC
11 Chapter 4 Variables When it executes a read command, the shell script will pause, waiting for the user to type something on the keyboard. When the user types something and then presses <Enter>, whatever typed goes into the variable whose name appears to the right of read. When assigning a value to a variable with the read command, notice that the $ is not used. You only use a $ when you wish to substitute the value of a variable on a line, not when assigning it with read or =. Like this: read name NOT like this: read $name < Don t attempt to read into variables like this!!! Try it: echo "Line 1 here\n and line 2 here\n" echo "\n\n\n\n\n\n" 2002 ITCourseware, LLC Rev Page 51
12 The export Command The export command puts a variable into the environment so it will be accessible to child processes. Try this on the command line: x=hello sh echo $x exit export x sh echo $x hello exit # Run a child shell. # Nothing in x. # Return to parent. # It's there. If the child modifies x, it will not modify the parent s original value. Verify this by doing the above commands again, but this time change x in the child and then display it when back in the parent. By convention, exported variables are in all CAPS. Page 52 Rev ITCourseware, LLC
13 Chapter 4 Variables Since UNIX is a multitasking operating system, many processes (jobs) can execute concurrently. It is very common to write shell scripts that fire off children to do specific tasks in parallel. A primary mechanism for communicating information from the parent to the child is through environment variables. This allows parameterization of children ITCourseware, LLC Rev Page 53
14 The Shell Environment The environment is a list of name-value pairs that is passed to the child program. Variables that are not in the environment are not passed to children. The export command puts variables into the environment. set... # Show values of all variables. env # Show environment variables only.... myname=mary export myname env # Look at environment now.... Page 54 Rev ITCourseware, LLC
15 Chapter 4 Variables When you run set or env, you see several variables that you know you didn t set. So who did? Answer: the shell. There are several predefined variables that the shell creates and sets when you log in. They are used by the shell and can also be used by you and your shell scripts. A few of them are shown here (see ksh for more): HOME PATH The default argument (home directory) for cd. The search path for commands. It is a colon-separated list of directories that are searched when you type a command. PS1 Primary prompt string, whose default is $. PS1 means Prompt String 1. PS2 Secondary prompt string, whose default is >. SECONDS BASH Number of seconds since the shell was invoked. Pathname of instance of shell you are running. Try it: echo $HOME 2002 ITCourseware, LLC Rev Page 55
16 Parameter Expansion Parameters can be tested and manipulated with ${...} operations. Following are several substitution mechanisms: ${#parameter} ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} ${parameter#pattern} ${parameter##pattern} ${parameter%pattern} ${parameter%%pattern} Length of parameter. If parameter is set and non-null, substitute it; else substitute word. If parameter is not set or is null, set it to word; substitute value of parameter. If parameter is set and non-null, substitute it; else print word and exit shell. If parameter is set and non-null, substitute word; else substitute nothing. See bash(1). Page 56 Rev ITCourseware, LLC
17 Chapter 4 Variables These parameter substitution mechanisms are very powerful and can make your code quite compact. Several of them are very useful for setting default values or printing error messages. Don t worry about using them a lot right now; you may find it easier to write the same functionality in your scripts with more conventional (although lengthier) if then else constructs. But even if you don t use these parameter substitution mechanisms yourself, you will run into existing scripts that do use them, and you need to be able to understand what they do. Example scripts: 1. # If the variable BACKUPPATH is defined in the # environment, use it, otherwise use $HOME/.backup Backup_path=${BACKUPPATH:-$HOME/.backup} cp -r * $Backup_path 2. # Extract the name of file $1 minus the. extension File=${1%.*} # $1 is positional arg 1 in a script 2002 ITCourseware, LLC Rev Page 57
18 Command Substitution The stdout of a command can be captured and stored in a variable by using command substitution. When you enclose a command in grave accent marks (a.k.a. back-ticks), the shell replaces the command (and the graves) with the command s output. Example 1: here=`pwd` #Graves, not single quotes. cd /a/long/way/away pwd /a/long/way/away echo $here /home/s3/scripts cd $here pwd /home/s3/scripts Example 2: num=`who wc -l` echo $num 7 Page 58 Rev ITCourseware, LLC
19 Chapter 4 Variables You may also perform command substitution with $( ). Example: here=$(pwd) echo $here num=$(who wc - l) echo $num 2002 ITCourseware, LLC Rev Page 59
20 Labs Write a script that prompts for your first name and reads it into a variable, then prompts for your last name and reads it into another variable, then displays your name in the format last, first. (Solution: showname) If your PS1 environment variable is set to PS1='${PWD#${HOME}/}-->', how would it affect your prompt? (Solution: PS1_ques) Write a script that tells how many people are logged on. The output should look something like this: There are 5 users currently logged on. (Solution: logger1) Make a directory in your home directory called bin. Move one of your executable shell scripts into your bin directory. Now edit.profile so that your bin directory (e.g., $HOME/bin) is added to your PATH variable. Log out and back in, then while still in your home directory, run the script that is in the bin directory. (Solution: bin_ex) What happens (if anything) when you set your environment variable HOME to /tmp, then do a cd? (Solution: HOME_ex) What happens (if anything) when you set your environment variable PATH to /tmp, then do an ls? (Solution: PATH_ex) Page 60 Rev ITCourseware, LLC
21 Chapter 4 Variables 2002 ITCourseware, LLC Rev Page 61
22 Page 62 Rev ITCourseware, LLC
Advanced UNIX Tools. Student Workbook
Student Workbook Advanced UNIX Tools Jeff Howell Published by ITCourseware, LLC, 7245 South Havana Street, Suite 100, Centennial, Colorado 80112 Contributing Authors: Jim McNally, Rob Roselius. Special
More informationAssignment clarifications
Assignment clarifications How many errors to print? at most 1 per token. Interpretation of white space in { } treat as a valid extension, involving white space characters. Assignment FAQs have been updated.
More information5/20/2007. Touring Essential Programs
Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.
More informationUNIX System Programming Lecture 3: BASH Programming
UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide
More informationA shell can be used in one of two ways:
Shell Scripting 1 A shell can be used in one of two ways: A command interpreter, used interactively A programming language, to write shell scripts (your own custom commands) 2 If we have a set of commands
More informationbash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017
bash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2017 Positional Arguments It is quite common to allow the user of a script to specify what the script is to operate on (e.g. a
More informationUNIX shell scripting
UNIX shell scripting EECS 2031 Summer 2014 Przemyslaw Pawluk June 17, 2014 What we will discuss today Introduction Control Structures User Input Homework Table of Contents Introduction Control Structures
More information12.1 UNDERSTANDING UNIX SHELL PROGRAMMING LANGUAGE: AN INTRODUCTION Writing a Simple Script Executing a Script
12 Shell Programming This chapter concentrates on shell programming. It explains the capabilities of the shell as an interpretive high-level language. It describes shell programming constructs and particulars.
More informationTable of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs
Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing
More informationCSCI 211 UNIX Lab. Shell Programming. Dr. Jiang Li. Jiang Li, Ph.D. Department of Computer Science
CSCI 211 UNIX Lab Shell Programming Dr. Jiang Li Why Shell Scripting Saves a lot of typing A shell script can run many commands at once A shell script can repeatedly run commands Help avoid mistakes Once
More informationImplementation of a simple shell, xssh
Implementation of a simple shell, xssh What is a shell? A process that does command line interpretation Reads a command from standard input (stdin) Executes command corresponding to input line In simple
More informationLinux shell scripting Getting started *
Linux shell scripting Getting started * David Morgan *based on chapter by the same name in Classic Shell Scripting by Robbins and Beebe What s s a script? text file containing commands executed as a unit
More informationWelcome to the Bash Workshop!
Welcome to the Bash Workshop! If you prefer to work on your own, already know programming or are confident in your abilities, please sit in the back. If you prefer guided exercises, are completely new
More informationShells. A shell is a command line interpreter that is the interface between the user and the OS. The shell:
Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed performs the actions Example:
More informationToday. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?
Today Unix as an OS case study Intro to Shell Scripting Make sure the computer is in Linux If not, restart, holding down ALT key Login! Posted slides contain material not explicitly covered in class 1
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More information5/8/2012. Specifying Instructions to the Shell Chapter 8
An overview of shell. Execution of commands in a shell. Shell command-line expansion. Customizing the functioning of the shell. Employing advanced user features. Specifying Instructions to the Shell Chapter
More informationShell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved
AICT High Performance Computing Workshop With Applications to HPC Edmund Sumbar research.support@ualberta.ca Copyright 2007 University of Alberta. All rights reserved High performance computing environment
More informationReview of Fundamentals
Review of Fundamentals 1 The shell vi General shell review 2 http://teaching.idallen.com/cst8207/14f/notes/120_shell_basics.html The shell is a program that is executed for us automatically when we log
More informationCS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash
CS 25200: Systems Programming Lecture 10: Shell Scripting in Bash Dr. Jef Turkstra 2018 Dr. Jeffrey A. Turkstra 1 Lecture 10 Getting started with Bash Data types Reading and writing Control loops Decision
More informationUnix Scripts and Job Scheduling. Overview. Running a Shell Script
Unix Scripts and Job Scheduling Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview Shell Scripts
More informationThe Online Unix Manual
ACS-294-001 Unix (Winter Term, 2018-2019) Page 14 The Online Unix Manual Unix comes with a large, built-in manual that is accessible at any time from your terminal. The Online Manual is a collection of
More informationThe Unix Shell & Shell Scripts
The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises
More informationShells and Shell Programming
Shells and Shell Programming 1 Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed
More informationWelcome to the Bash Workshop!
Welcome to the Bash Workshop! If you prefer to work on your own, already know programming or are confident in your abilities, please sit in the back. If you prefer guided exercises, are completely new
More information85321, Systems Administration Chapter 6: The shell
Chapter 6 Introduction The Shell You will hear many people complain that the UNIX operating system is hard to use. They are wrong. What they actually mean to say is that the UNIX command line interface
More informationUNIX Shell Programming
$!... 5:13 $$ and $!... 5:13.profile File... 7:4 /etc/bashrc... 10:13 /etc/profile... 10:12 /etc/profile File... 7:5 ~/.bash_login... 10:15 ~/.bash_logout... 10:18 ~/.bash_profile... 10:14 ~/.bashrc...
More informationExploring UNIX: Session 3
Exploring UNIX: Session 3 UNIX file system permissions UNIX is a multi user operating system. This means several users can be logged in simultaneously. For obvious reasons UNIX makes sure users cannot
More informationIntroduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines
Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical
More informationBourne Shell Programming Topics Covered
Bourne Shell Programming Topics Covered Shell variables Using Quotes Arithmetic On Shell Passing Arguments Testing conditions Branching if-else, if-elif, case Looping while, for, until break and continue
More information28-Nov CSCI 2132 Software Development Lecture 33: Shell Scripting. 26 Shell Scripting. Faculty of Computer Science, Dalhousie University
Lecture 33 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 33: Shell Scripting 28-Nov-2018 Location: Chemistry 125 Time: 12:35 13:25 Instructor: Vla Keselj
More informationUnix as a Platform Exercises + Solutions. Course Code: OS 01 UNXPLAT
Unix as a Platform Exercises + Solutions Course Code: OS 01 UNXPLAT Working with Unix Most if not all of these will require some investigation in the man pages. That's the idea, to get them used to looking
More information9.2 Linux Essentials Exam Objectives
9.2 Linux Essentials Exam Objectives This chapter will cover the topics for the following Linux Essentials exam objectives: Topic 3: The Power of the Command Line (weight: 10) 3.3: Turning Commands into
More informationCHAPTER 3 SHELL PROGRAMS: SCRIPTS
CHAPTER 3 SHELL PROGRAMS: SCRIPTS Any series of commands may be stored inside a regular text file for later execution. A file that contains shell commands is called a script. Before you can run a script,
More informationBashed One Too Many Times. Features of the Bash Shell St. Louis Unix Users Group Jeff Muse, Jan 14, 2009
Bashed One Too Many Times Features of the Bash Shell St. Louis Unix Users Group Jeff Muse, Jan 14, 2009 What is a Shell? The shell interprets commands and executes them It provides you with an environment
More informationbash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2018
bash Args, Signals, Functions Administrative Shell Scripting COMP2101 Fall 2018 Error Output Failed commands often generate unwanted or irrelevant error messages That output can be saved as a log, sent
More informationEECS2301. Lab 1 Winter 2016
EECS2301 Lab 1 Winter 2016 Lab Objectives In this lab, you will be introduced to the Linux operating system. The basic commands will be presented in this lab. By the end of you alb, you will be asked to
More informationCSC UNIX System, Spring 2015
CSC 352 - UNIX System, Spring 2015 Study guide for the CSC352 midterm exam (20% of grade). Dr. Dale E. Parson, http://faculty.kutztown.edu/parson We will have a midterm on March 19 on material we have
More informationLab 2: Linux/Unix shell
Lab 2: Linux/Unix shell Comp Sci 1585 Data Structures Lab: Tools for Computer Scientists Outline 1 2 3 4 5 6 7 What is a shell? What is a shell? login is a program that logs users in to a computer. When
More informationUnix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University
Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )
More informationCSC209H Lecture 1. Dan Zingaro. January 7, 2015
CSC209H Lecture 1 Dan Zingaro January 7, 2015 Welcome! Welcome to CSC209 Comments or questions during class? Let me know! Topics: shell and Unix, pipes and filters, C programming, processes, system calls,
More informationReview of Fundamentals. Todd Kelley CST8207 Todd Kelley 1
Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 These notes are available on
More informationBourne Shell Reference
> Linux Reviews > Beginners: Learn Linux > Bourne Shell Reference Bourne Shell Reference found at Br. David Carlson, O.S.B. pages, cis.stvincent.edu/carlsond/cs330/unix/bshellref - Converted to txt2tags
More informationC++ Programming for Non-C Programmers. Supplement
C++ Programming for Non-C Programmers Supplement C++ Programming for Non-C Programmers C++ Programming for Non-C Programmers Published by ITCourseware, 7245 S. Havana St, Suite 100, Centennial, CO 80112
More informationEssentials for Scientific Computing: Bash Shell Scripting Day 3
Essentials for Scientific Computing: Bash Shell Scripting Day 3 Ershaad Ahamed TUE-CMS, JNCASR May 2012 1 Introduction In the previous sessions, you have been using basic commands in the shell. The bash
More informationSystem Programming. Unix Shells
Content : Unix shells by Dr. A. Habed School of Computer Science University of Windsor adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 Interactive and non-interactive
More informationUnix as a Platform Exercises. Course Code: OS-01-UNXPLAT
Unix as a Platform Exercises Course Code: OS-01-UNXPLAT Working with Unix 1. Use the on-line manual page to determine the option for cat, which causes nonprintable characters to be displayed. Run the command
More informationCommand Interpreters. command-line (e.g. Unix shell) On Unix/Linux, bash has become defacto standard shell.
Command Interpreters A command interpreter is a program that executes other programs. Aim: allow users to execute the commands provided on a computer system. Command interpreters come in two flavours:
More informationEssential Unix (and Linux) for the Oracle DBA. Revision no.: PPT/2K403/02
Essential Unix (and Linux) for the Oracle DBA Revision no.: PPT/2K403/02 Architecture of UNIX Systems 2 UNIX System Structure 3 Operating system interacts directly with Hardware Provides common services
More informationContents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...
Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing
More informationShells and Shell Programming
Shells and Shell Programming Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed
More informationACS Unix (Winter Term, ) Page 21
ACS-294-001 Unix (Winter Term, 2016-2017) Page 21 The Shell From the beginning, Unix was designed so that the shell is an actual program separated from the main part of the operating system. What is a
More informationCOMS 6100 Class Notes 3
COMS 6100 Class Notes 3 Daniel Solus September 1, 2016 1 General Remarks The class was split into two main sections. We finished our introduction to Linux commands by reviewing Linux commands I and II
More informationGetting started with Hugs on Linux
Getting started with Hugs on Linux COM1022 Functional Programming Techniques Dr Hans Georg Schaathun University of Surrey Autumn 2009 Week 7 Dr Hans Georg Schaathun Getting started with Hugs on Linux Autumn
More informationGetting started with Hugs on Linux
Getting started with Hugs on Linux CS190 Functional Programming Techniques Dr Hans Georg Schaathun University of Surrey Autumn 2008 Week 1 Dr Hans Georg Schaathun Getting started with Hugs on Linux Autumn
More informationStandard. Shells. tcsh. A shell script is a file that contains shell commands that perform a useful function. It is also known as shell program.
SHELLS: The shell is the part of the UNIX that is most visible to the user. It receives and interprets the commands entered by the user. In many respects, this makes it the most important component of
More informationShell script/program. Basic shell scripting. Script execution. Resources. Simple example script. Quoting
Shell script/program Basic shell scripting CS 2204 Class meeting 5 Created by Doug Bowman, 2001 Modified by Mir Farooq Ali, 2002 A series of shell commands placed in an ASCII text file Commands include
More informationAnswers to AWK problems. Shell-Programming. Future: Using loops to automate tasks. Download and Install: Python (Windows only.) R
Today s Class Answers to AWK problems Shell-Programming Using loops to automate tasks Future: Download and Install: Python (Windows only.) R Awk basics From the command line: $ awk '$1>20' filename Command
More information1. What statistic did the wc -l command show? (do man wc to get the answer) A. The number of bytes B. The number of lines C. The number of words
More Linux Commands 1 wc The Linux command for acquiring size statistics on a file is wc. This command provides the line count, word count and number of bytes in a file. Open up a terminal, make sure you
More informationTitle:[ Variables Comparison Operators If Else Statements ]
[Color Codes] Environmental Variables: PATH What is path? PATH=$PATH:/MyFolder/YourStuff?Scripts ENV HOME PWD SHELL PS1 EDITOR Showing default text editor #!/bin/bash a=375 hello=$a #No space permitted
More informationLinux shell programming for Raspberry Pi Users - 2
Linux shell programming for Raspberry Pi Users - 2 Sarwan Singh Assistant Director(S) NIELIT Chandigarh 1 SarwanSingh.com Education is the kindling of a flame, not the filling of a vessel. - Socrates SHELL
More informationImplementation of a simple shell, xssh
Implementation of a simple shell, xssh What is a shell? A process that does command line interpretation Reads a command from standard input (stdin) Executes command corresponding to input line In the simple
More informationBasics. I think that the later is better.
Basics Before we take up shell scripting, let s review some of the basic features and syntax of the shell, specifically the major shells in the sh lineage. Command Editing If you like vi, put your shell
More informationReview of Fundamentals. Todd Kelley CST8207 Todd Kelley 1
Review of Fundamentals Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 The CST8207 course notes GPL the shell SSH (secure shell) the Course Linux Server RTFM vi general shell review 2 Linux
More informationMore Scripting Todd Kelley CST8207 Todd Kelley 1
More Scripting Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 Arithmetic Output with printf Input from a file from a command CST8177 Todd Kelley 2 A script can test whether or not standard
More informationShell Scripting. Todd Kelley CST8207 Todd Kelley 1
Shell Scripting Todd Kelley kelleyt@algonquincollege.com CST8207 Todd Kelley 1 If we have a set of commands that we want to run on a regular basis, we could write a script A script acts as a Linux command,
More informationAppendix A GLOSSARY. SYS-ED/ Computer Education Techniques, Inc.
Appendix A GLOSSARY SYS-ED/ Computer Education Techniques, Inc. $# Number of arguments passed to a script. $@ Holds the arguments; unlike $* it has the capability for separating the arguments. $* Holds
More informationChapter-3. Introduction to Unix: Fundamental Commands
Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system
More informationExamples: Directory pathname: File pathname: /home/username/ics124/assignments/ /home/username/ops224/assignments/assn1.txt
ULI101 Week 03 Week Overview Absolute and relative pathnames File name expansion Shell basics Command execution in detail Recalling and editing previous commands Quoting Pathnames A pathname is a list
More informationCS Unix Tools. Lecture 3 Making Bash Work For You Fall Hussam Abu-Libdeh based on slides by David Slater. September 13, 2010
Lecture 3 Making Bash Work For You Fall 2010 Hussam Abu-Libdeh based on slides by David Slater September 13, 2010 A little homework Homework 1 out now Due on Thursday at 11:59PM Moving around and GNU file
More informationWriting Shell Scripts part 1
Writing Shell Scripts part 1 EECS 2031 21 November 2016 1 What Is a Shell? A program that interprets your request to run other programs Most common Unix shells: Bourne shell (sh) C shell (csh) Korn shell
More informationShell scripting Scripting and Computer Environment - Lecture 5
Shell scripting Scripting and Computer Environment - Lecture 5 Saurabh Barjatiya International Institute Of Information Technology, Hyderabad 28 July, 2011 Contents 1 Contents 1 Shell scripting with bash
More informationBasic Linux (Bash) Commands
Basic Linux (Bash) Commands Hint: Run commands in the emacs shell (emacs -nw, then M-x shell) instead of the terminal. It eases searching for and revising commands and navigating and copying-and-pasting
More informationCS Fundamentals of Programming II Fall Very Basic UNIX
CS 215 - Fundamentals of Programming II Fall 2012 - Very Basic UNIX This handout very briefly describes how to use Unix and how to use the Linux server and client machines in the CS (Project) Lab (KC-265)
More informationbash, part 3 Chris GauthierDickey
bash, part 3 Chris GauthierDickey More redirection As you know, by default we have 3 standard streams: input, output, error How do we redirect more than one stream? This requires an introduction to file
More informationVi & Shell Scripting
Vi & Shell Scripting Comp-206 : Introduction to Week 3 Joseph Vybihal Computer Science McGill University Announcements Sina Meraji's office hours Trottier 3rd floor open area Tuesday 1:30 2:30 PM Thursday
More informationCisco IOS Shell. Finding Feature Information. Prerequisites for Cisco IOS.sh. Last Updated: December 14, 2012
Cisco IOS Shell Last Updated: December 14, 2012 The Cisco IOS Shell (IOS.sh) feature provides shell scripting capability to the Cisco IOS command-lineinterface (CLI) environment. Cisco IOS.sh enhances
More informationIntroduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p.
Introduction p. 1 Who Should Read This Book? p. 1 What You Need to Know Before Reading This Book p. 2 How This Book Is Organized p. 2 Conventions Used in This Book p. 2 Introduction to UNIX p. 5 An Overview
More informationUnix Internal Assessment-2 solution. Ans:There are two ways of starting a job in the background with the shell s & operator and the nohup command.
Unix Internal Assessment-2 solution 1 a.explain the mechanism of process creation. Ans: There are three distinct phases in the creation of a process and uses three important system calls viz., fork, exec,
More informationUnix Introduction to UNIX
Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various
More informationLinux File System and Basic Commands
Linux File System and Basic Commands 0.1 Files, directories, and pwd The GNU/Linux operating system is much different from your typical Microsoft Windows PC, and probably looks different from Apple OS
More informationChapter 4. Unix Tutorial. Unix Shell
Chapter 4 Unix Tutorial Users and applications interact with hardware through an operating system (OS). Unix is a very basic operating system in that it has just the essentials. Many operating systems,
More informationIntroduction to Linux (Part I) BUPT/QMUL 2018/03/14
Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Contents 1. Background on Linux 2. Starting / Finishing 3. Typing Linux Commands 4. Commands to Use Right Away 5. Linux help continued 2 Contents 6.
More informationCOMP 4/6262: Programming UNIX
COMP 4/6262: Programming UNIX Lecture 12 shells, shell programming: passing arguments, if, debug March 13, 2006 Outline shells shell programming passing arguments (KW Ch.7) exit status if (KW Ch.8) test
More informationUsing echo command in shell script
Lab 4a Shell Script Lab 2 Using echo command in shell script Objective Upon completion of this lab, the student will be able to use echo command in the shell script. Scenario The student is the administrator
More informationC++ Programming for Non-C Programmers. Supplement
C++ Programming for Non-C Programmers Supplement ii C++ Programming for Non-C Programmers C++ Programming for Non-C Programmers Published by itcourseware, 10333 E. Dry Creek Rd., Suite 150, Englewood,
More informationUnix Shell scripting. Dr Alun Moon 7th October Introduction. Notation. Spaces
Unix Shell scripting Dr Alun Moon 7th October 2017 Introduction Shell scripts in Unix are a very powerfull tool, they form much of the standard system as installed. What are these good for? So many file
More informationLezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi
Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza Sommario Shell command language Introduction A
More informationAppendix B WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.
Appendix B WORKSHOP SYS-ED/ Computer Education Techniques, Inc. 1 Introduction There are no workshops for this chapter. The instructor will provide demonstrations and examples. SYS-ED/COMPUTER EDUCATION
More informationExploring UNIX: Session 5 (optional)
Exploring UNIX: Session 5 (optional) Job Control UNIX is a multi- tasking operating system, meaning you can be running many programs simultaneously. In this session we will discuss the UNIX commands for
More informationShell Scripting. Jeremy Sanders. October 2011
Shell Scripting Jeremy Sanders October 2011 1 Introduction If you use your computer for repetitive tasks you will find scripting invaluable (one of the advantages of a command-line interface). Basically
More informationCrash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book).
Crash Course in Unix For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix -or- Unix in a Nutshell (an O Reilly book). 1 Unix Accounts To access a Unix system you need to have
More informationPerl and R Scripting for Biologists
Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications
More informationSession 1: Accessing MUGrid and Command Line Basics
Session 1: Accessing MUGrid and Command Line Basics Craig A. Struble, Ph.D. July 14, 2010 1 Introduction The Marquette University Grid (MUGrid) is a collection of dedicated and opportunistic resources
More informationLinux Shell Scripting. Linux System Administration COMP2018 Summer 2017
Linux Shell Scripting Linux System Administration COMP2018 Summer 2017 What is Scripting? Commands can be given to a computer by entering them into a command interpreter program, commonly called a shell
More informationLab #12: Shell Scripting
Lab #12 Page 1 of 11 Lab #12: Shell Scripting Students will familiarize themselves with UNIX shell scripting using basic commands to manipulate the le system. Part A Instructions: This part will be demonstrated
More informationLING 408/508: Computational Techniques for Linguists. Lecture 5
LING 408/508: Computational Techniques for Linguists Lecture 5 Last Time Installing Ubuntu 18.04 LTS on top of VirtualBox Your Homework 2: did everyone succeed? Ubuntu VirtualBox Host OS: MacOS or Windows
More informationIntroduction to UNIX Shell Exercises
Introduction to UNIX Shell Exercises Determining Your Shell Open a new window or use an existing window for this exercise. Observe your shell prompt - is it a $ or %? What does this tell you? Find out
More informationIntroduction to Unix: Fundamental Commands
Introduction to Unix: Fundamental Commands Ricky Patterson UVA Library Based on slides from Turgut Yilmaz Istanbul Teknik University 1 What We Will Learn The fundamental commands of the Unix operating
More informationA Brief Introduction to Unix
A Brief Introduction to Unix Sean Barag Drexel University March 30, 2011 Sean Barag (Drexel University) CS 265 - A Brief Introduction to Unix March 30, 2011 1 / 17 Outline 1 Directories
More information