summaryrefslogtreecommitdiffstats
path: root/guides/shell-workshop/index.html
blob: 3b85b6c763319bef3b4d5ebe49bb8d9abc7aed57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!--#set var="title" value="UNIX Shell Scripting Workshop" -->
<!--#include virtual="../../includes/header.html" -->
<h2>UNIX&reg; Shell Scripting Workshop</h2>
<h3>Introduction to the UNIX Shell Language and Environment</h3>
<p>
	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.
</p>
<h4>Flyer</h4>
<p>
	Below you may find the flyer for this event:
</p>
<ul>
	<li><a href="flyer.svg">Source SVG document</a></li>
	<li><a href="flyer.pdf">Rendered PDF document</a></li>
</ul>
<p>
	This flyer includes copyrighted images used pursuant to the fair use
	limitation of U.S. Copyright Law.
</p>
<h4>Standards</h4>
<p>
	The workshop referred to the Shell and Utilities (XCU) volume of
	<a href="http://pubs.opengroup.org/onlinepubs/9699919799/">POSIX.1-2008</a>,
	<a href="http://www.unix.org/">published</a> by the IEEE and The Open Group.
	Everything covered applies to any sufficiently-compliant shell and operating
	system.
</p>
<h4>Notes</h4>
<p>
	The following are my notes from the tutorial I gave at SIG GNU/Linux
	meetings, reused for the workshop:
</p>
<ul>
	<li><a href="shell.txt">shell.txt</a></li>
	<li><a href="shell-tut.txt">shell-tut.txt</a></li>
</ul>
<p>
	The following are the notes I wrote as a guide for the workshop:
</p>
<ul>
	<li><a href="notes.txt">notes.txt</a></li>
</ul>
<h4>Session</h4>
<p>
	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.
</p>
<ul>
	<li><a href="session.txt">Plain text (Markdown) document</a></li>
	<li><a href="session.html">HTML document</a></li>
</ul>
<h4>Examples</h4>
<p>
	At the end of the workshop, I showed the following example shell scripts:
</p>
<ul>
	<li><a
		href="http://anonscm.debian.org/gitweb/?p=users/clint/debianutils.git;a=blob;f=which;hb=1b1dfee67e9ddd9dfe9171ac347e5000f4deab8a"><code>which</code>
		of debianutils</a>
	(an implementation of
	<a href="https://en.wikipedia.org/wiki/Which_%28Unix%29">a program
		available</a>
	on many UNIX-like operating systems), notable for its use of the internal
	field separator (IFS) to parse the <code>PATH</code> variable</li>
	<li><a href="http://odin1.pehjota.net/git/opkhelper/tree/src/opkbuild.sh"><code>opkbuild</code></a>
	of opkhelper (a set of scripts I wrote)</li>
</ul>
<h4>Copyright</h4>
<p>
	Copyright &copy; 2012 Patrick "P. J." M<span class="super">c</span>Dermott
	<br>
	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
	<a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
		Attribution 3.0 Unported license</a>.<br>
</p>
<!--#include virtual="../../includes/footer.html" -->