SYNTAX The Bourne shell a pure interpreter for a highly interactive, complex and powerful programming language with syntax based loosely on ALGOL 68. The basic input (from a user or from a file) into the interpreter (sh) is a sequence of commands. command::=command_name #(separator argument| redirection), Normally, separator::=whitespace #whitespace. redirection::= ("<" | ">" | ">>" ) file | "<<"string. A script is a sequence of commands and control structures separtaed by command separators script::=(command | built_in_structure)#(command_separator (command | built_in_structure)), command_separator::=EOLN #whitespace | semicolon #whitspace. built_in_structure::=assignment | if_then_fi | case_esac | for_do_done | whil_do_done| exit_statement | echo_statement |... . A shell variable is identified by an identifier: variable::=identifier, value_of_variable::= "$" variable, Arguments are numbered: argument::= digit, value_of_argument::="$"digit. There are several special variables/values: value::=value_of_argument | value_of_variable | "$" ( "$" | "?" | "#" | "!" | ...). string::= double_quoted_string |single_quoted_string|reverse_quoted_string, escaped_symbol::=backslash char, Using /home/dick/cs320/maths.ascii, white_space::= SP | HT | ...