Remember the different Linux manual sections.
man 1 -> user commands
man 2 -> Linux system calls
man 3 -> C library functions (but not necessarily C Standard Library functions)
man 4 -> special files
man 5 -> file formats
man 8 -> administration and privileged commands
Note: These are the current manual sections. Our textbook uses an
older numbering for manual sections. For example, the book considers
Section 4 to be file formats, but that is now Section 5.
You can get an introduction to section n with the command
$ man n intro
--------------------------------------------------------------------------
Chapter 9
--------------------------------------------------------------------------
Section 9.2
From the Chapter 8 folder, try running the "script file" psh4.script with the psh4.c shell.
> ./psh4 < psh4.script
--------------------------------------------------------------------------
Section 9.3
The shell in this section, smsh1, can parse (tokenize) a command line,
and you can exit the sell using CTRL-D.
The files for the shell are:
smsh1.c
splitline.c
execute.c
--------------------------------------------------------------------------
Section 9.4
The shell in this section, smsh2, adds an if/else command to the "shell language".
The files for the shell are:
smsh2.c
splitline.c
execute.c execute.h
controlflow.c controlflow.h
process.c process.h
--------------------------------------------------------------------------
Section 9.5
The shell in this section, smsh3, adds shell variables to the "shell language".
The files for the shell are (NOTE: smsh3 uses smsh2.c!):
smsh2.c
splitline.c
execute.c execute.h
controlflow.c controlflow.h
process2.c process.h
builtin.c
varlib.c varlib.h
--------------------------------------------------------------------------
Section 9.6
The shell in this section, smsh4, allows its shell variables to be "exported" to the environment.
The files for the shell are:
smsh4.c
splitline.c
execute2.c execute.h
controlflow.c controlflow.h
process2.c process.h
builtin.c
varlib.c varlib.h
This section also uses the demonstration program changeenv.c.