- p1
two simple commands connected by a pipe
the parameter of the commands are fixed
- p2
introducing variable to make it somewhat flexible
- p3
introducing arguments to be used as the parameter of the command
- p4
default value for a varible
- p4.1
introducing `read'
introducing $#
introducing `if'
- p5
introducing `case' statement
introducing the backquote
``uname'' is used to make the program adaptive and portable.
- show-arg
introducing the `for' loop
introducing the `expr' command
introducing the `printf' command
- sum-arg
show how to use the `expr' to do arithmetic operations
- sum-arg-bc
invoke `bc' to do arithmetic operations
- sum-arg-dc
invoke `dc' to do arithmetic operations
- sum-stdin
introducing `while'
- sum-to
using `while' and 'expr'
- lower
using `tr' to rename a file from uppercase to lowercase
try ``./lower *''
- sigma
Recursively invoke itself to compute the sum
- sigma in function
Recursive invoke a function to compute the sum