svn commit: r214242 - stable/7/bin/sh
Jilles Tjoelker
jilles at FreeBSD.org
Sat Oct 23 14:04:04 UTC 2010
Author: jilles
Date: Sat Oct 23 14:04:04 2010
New Revision: 214242
URL: http://svn.freebsd.org/changeset/base/214242
Log:
MFC r211621: sh(1): Add a brief summary of arithmetic expressions.
Modified:
stable/7/bin/sh/sh.1
Directory Properties:
stable/7/bin/sh/ (props changed)
Modified: stable/7/bin/sh/sh.1
==============================================================================
--- stable/7/bin/sh/sh.1 Sat Oct 23 14:00:31 2010 (r214241)
+++ stable/7/bin/sh/sh.1 Sat Oct 23 14:04:04 2010 (r214242)
@@ -1142,7 +1142,7 @@ Quote Removal.
The
.Ql $
character is used to introduce parameter expansion, command
-substitution, or arithmetic evaluation.
+substitution, or arithmetic expansion.
.Ss Tilde Expansion (substituting a user's home directory)
A word beginning with an unquoted tilde character
.Pq Ql ~
@@ -1357,10 +1357,41 @@ The
shell expands all tokens in the
.Ar expression
for parameter expansion,
-command substitution, and quote removal.
+command substitution,
+arithmetic expansion
+and quote removal.
+.Pp
+The allowed expressions are a subset of C expressions,
+summarized below.
+.Bl -tag -width "Variables" -offset indent
+.It Values
+All values are of type
+.Ft intmax_t .
+.It Constants
+Decimal, octal (starting with
+.Li 0 )
+and hexadecimal (starting with
+.Li 0x )
+integer constants.
+.It Variables
+Shell variables can be read and written
+and contain integer constants.
+.It Unary operators
+.Li "! ~ + -"
+.It Binary operators
+.Li "* / % + - << >> < <= > >= == != & ^ | && ||"
+.It Assignment operators
+.Li "= += -= *= /= %= <<= >>= &= ^= |="
+.It Short-circuit evaluation
+The
+.Li &&
+and
+.Li ||
+operators always evaluate both sides.
+This is a bug.
+.El
.Pp
-Next, the shell treats this as an arithmetic expression and
-substitutes the value of the expression.
+The result of the expression is substituted in decimal.
.Ss White Space Splitting (Field Splitting)
After parameter expansion, command substitution, and
arithmetic expansion the shell scans the results of
More information about the svn-src-stable-7
mailing list