• 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