This page lists workshops I've given on the UNIX shell command language and
utilities, as specified by the Shell and Utilities (XCU) volume of
[POSIX.1][posix], [published][unix] by the IEEE and The Open Group.
Everything covered applies to any sufficiently-compliant shell and operating
system.
[posix]: http://pubs.opengroup.org/onlinepubs/9699919799/
[unix]: http://www.unix.org/
Fall 2012
=========
This is a workshop that I gave to a team of students [working on ProteanOS in
the Capstone program][proteanos-capstone-2012f] of the New Jersey Institute of
Technology College of Computing Sciences.
[proteanos-capstone-2012f]: http://www.proteanos.com/dev/capstone-2012f/
Slides
------
Below you may find the slides for this workshop:
* [OpenDocument Format](capstone-2012f/posix-xcu-intro.odp)
* [Portable Document Format](capstone-2012f/posix-xcu-intro.pdf)
Copyright
---------
Copyright © 2012 Patrick “P. J.” McDermott
Permission is hereby granted to use this presentation under the terms of the
Creative Commons Attribution-ShareAlike license, either [version 3.0
Unported][cc-by-sa-3.0] or (at your option) any later version.
Permission is hereby granted to use this presentation under the terms of the GNU
General Public License as published by the Free Software Foundation, either
[version 3 of the License][gpl-3.0] or (at your option) any later version.
This presentation is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the licenses for more details.
[cc-by-sa-3.0]: http://creativecommons.org/licenses/by-sa/3.0/
[gpl-3.0]: https://www.gnu.org/licenses/gpl-3.0.html
Spring 2012
===========
This is a workshop that I gave at the New Jersey Institute of Technology (NJIT)
in the Spring of 2012 as part of the workshop series of the university's chapter
of the Association for Computing Machinery (ACM). It was based on a similar
tutorial I had given during meetings of NJIT ACM's SIG GNU/Linux in the Fall of
2011.
Flyer
-----
Below you may find the flyer for this event:
* [Source SVG document](flyer.svg)
* [Rendered PDF document](flyer.pdf)
This flyer includes copyrighted images used pursuant to the fair use limitation
of U.S. Copyright Law.
Notes
-----
The following are my notes from the tutorial I gave at SIG GNU/Linux
meetings, reused for the workshop:
* [shell.txt](shell.txt)
* [shell-tut.txt](shell-tut.txt)
The following are the notes I wrote as a guide for the workshop:
* [notes.txt](notes.txt)
Session
-------
The following is a cleaned-up version of the shell session from the
workshop, including all of the commands I ran and scripts I wrote.
* [Plain text (Markdown) document](session.txt)
* [HTML document](session.html)
Examples
--------
At the end of the workshop, I showed the following example shell scripts:
* [`which` of debianutils][debianutils-which] (an implementation of [a program
available][which] on many UNIX-like operating systems), notable for its use
of the internal field separator (IFS) to parse the `PATH` variable
* [`opkbuild`][opkbuild]
[debianutils-which]: http://anonscm.debian.org/gitweb/?p=users/clint/debianutils.git;a=blob;f=which;hb=1b1dfee67e9ddd9dfe9171ac347e5000f4deab8a
[which]: https://en.wikipedia.org/wiki/Which_%28Unix%29
[opkbuild]: http://git.proteanos.com/opkbuild/opkbuild.git/tree/src/opkbuild.sh
Copyright
---------
Copyright © 2012 Patrick “P. J.” McDermott
All works related to this workshop, including this document, the flyer, the
notes, and the session records may be used under the terms of the [Creative
Commons Attribution 3.0 Unported license][cc-by-3.0].
[cc-by-3.0]: http://creativecommons.org/licenses/by/3.0/