Research Computing Workshop -- 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

The following three guides all contain the same chapter on Unix shell scripting which will be covered in this workshop.  The Avi and Peregrine User's Guides are otherwise focused on using clusters for parallel computing, while the Introduction to Research Computing is aimed at researchers who are not necessarily doing parallel computing.  For your convenience, you may use whichever one best suites your needs.

The Avi User's Guide   (Recommended for anyone doing parallel computing on Avi)

The Peregrine User's Guide (PDF)   (Recommended for anyone doing parallel computing on Peregrine)

Introduction to Research Computing (PDF)  (Recommended for those who are not doing parallel computing)

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

Note: The registration page you are about to view may imply that this event is only open to UWM students and employees, but it is in fact open to the public.  If you are not affiliated with UWM, proceed to the registration link and choose the manual registration form.

Register for this workshop.

Cost: Free

Additional Information

Please direct any questions to cluster-support@uwm.edu.