0% found this document useful (0 votes)
61 views2 pages

Acknowledgements

The document acknowledges influences from early Unix shells and command interpreters in CTSS and Multics in the design of the shell. It thanks Dennis Ritchie and John Mashey for discussions during the shell's design, and members of the Computing Science Research Center and Joe Maranzano for comments on drafts of the documentation. The appendix provides a grammar for shell commands.

Uploaded by

arunabhatla
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views2 pages

Acknowledgements

The document acknowledges influences from early Unix shells and command interpreters in CTSS and Multics in the design of the shell. It thanks Dennis Ritchie and John Mashey for discussions during the shell's design, and members of the Computing Science Research Center and Joe Maranzano for comments on drafts of the documentation. The appendix provides a grammar for shell commands.

Uploaded by

arunabhatla
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

interactive shell) and INTERRUPT is caught and ignored (so that wait is interruptable).

In all
cases QUIT is ignored by the shell.

Acknowledgements

The design of the shell is based in part on the original UNIX shell and the PWB/UNIX shell, some features
having been taken from both. Similarities also exist with the command interpreters of the Cambridge
Multiple Access System and of CTSS.

I would like to thank Dennis Ritchie and John Mashey for many discussions during the design of
the shell. I am also grateful to the members of the Computing Science Research Center and to
Joe Maranzano for their comments on drafts of this document.

Appendix A - Grammar

item:

word

input-output

name = value

simple-command:

item

simple-command item

command:

simple-command

( command-list )

{ command-list }

for name do command-list done

for name in word ... do command-list done

while command-list do command-list done

until command-list do command-list done

case word in case-part ... esac

if command-list then command-list else-part fi


pipeline:

command

pipeline | command

andor:

pipeline

andor && pipeline

andor || pipeline

command-list:

andor

command-list ;

command-list &

command-list ; andor

command-list & andor

input-output:

> file

< file

>> word

<< word

file:

word

You might also like