Unix Shell Scripting

Purpose

This workshop is for researchers who would like to automate their computational tasks. Most research computations involve multiple steps, running several different programs in sequence in order to process raw data into a form usable for publication.  Done by hand, the process can be extremely slow, tedious and error-prone.

Shell scripting is a powerful, flexible, and portable technique for automating the execution of multiple data processing steps.  Shell scripts can be used on any operating system and with almost any software.  Even software that is traditionally used through a graphical interface usually offers a command-line interface to allow automated execution from scripts.

Shell scripting languages are available natively on all Unix-like operating systems, including FreeBSD, Linux, Mac OS X, Solaris, etc.  Windows users can utilize shell scripting and other Unix tools via the FREE Cygwin tools, which can be downloaded and installed in minutes.

This workshop should be of interest to all researchers using software to analyze data as well as to all Computer Science students.

Hands-on training will focus on developing Bourne-shell family and C-shell family scripts, but the concepts will be useful in understanding other scripting languages as well.

Prerequisites

Basic knowledge of computer programming and the Unix command line.

Ideally, attendees will have previously attended the Introduction to Research Computing workshop, Parallel Computing Boot Camp, or Parallel Programming workshop.

Course Content

  • Brief review of basic Unix concepts, globbing, redirection, and pipes
  • Overview of Unix Shells (Bourne shell, C shell, and derivatives) and other scripting languages
  • Shell scripting basics
  • Conditionals
  • Loops
  • Command-line arguments
  • Functions, running scripts from scripts

Course Materials

UWM Research Computing User’s Guide (PDF)

Where and When

Saturday, December 7th, 2013

9:00am to 3:00pm

University of Wisconsin — Milwaukee

Engineering and Math Sciences Building

3200 N. Cramer St.

Room E256

PC workstations are provided, wireless access is available to UWM students and employees.

Registration

Registration is open to the community.

Cost: Free

Note: Space is limited.  If you have registered for this workshop and will not be able to attend, please notify us by emailing research-computing@uwm.edu. Attendance will be taken and unexcused no-shows may not be able to register for future workshops.

Registration for this workshop is currently closed.

Additional Information

Paid parking is available under the EMS building.  Free street parking is also available near EMS.  Note that some parking areas have time limits, even on Saturdays.  The workshop will include breaks about every 1.5 hours.

There are several restaurants along Oakland Ave within a few blocks of EMS.  Most on-campus restaurants are closed on Saturdays.

Please direct any questions to research-computing@uwm.edu.