If invoked without arguments mash first runs the commands found in /lib/mashinit.
A number-sign (#) and any following characters up to (but not including) the next newline are ignored, except in quotation marks.
The keywords are
case else fn for hd if in len rescue tl while
The simplest kind of word is the unquoted word: a sequence of one or more characters none of which is a blank, tab, newline, or any of the following:
# : ; ! ~ @ & | ^ $ = " ` ' { } ( ) < >An unquoted word that contains any of the characters *, ? or [ is a pattern for matching against file names. The character * matches any sequence of characters, ? matches any single character, and [ class ] matches any character in the class. The class may also contain pairs of characters separated by -, standing for all characters lexically between the two. The character / must appear explicitly in a pattern. A pattern is replaced by a list of words, one for each path name matched, except that a pattern matching no names is not replaced by the empty list, but rather stands for itself. Pattern matching is done after all other operations. Thus,
x=/tmp; echo $x^/*.c;matches /tmp/*.c, rather than matching /*.c and then prefixing /tmp.
A quoted word is a sequence of characters surrounded by single quotes ('). A single quote is escaped with a backslash.
Each of the following is a word.
cmp <{old} <{new};
is equivalent to
Each of the following is a command.
The make loadable builtin provides `make` functionality. The tk loadable builtin provides control over some of the visual elements of a mash window.
Tom Duff, ``Rc - The Plan 9 Shell'', in the Plan 9 Programmer's Manual , Second Edition, Volume 2.
MASH(1 ) | Rev: Thu Feb 15 14:42:47 GMT 2007 |