mirror of
git://git.suckless.org/sbase
synced 2025-03-19 17:46:01 +00:00
When viewing sbase's man pages the date displayed at the bottom is
the current date rather than the date entered in the <program>.1
file.
According to this:
https://mandoc.bsd.lv/mdoc/details/date.html
The traditional man date format used by sbase (.Dd year-month-day)
is no longer recommended and no longer supported by GNU troff or
Heirloom Docs and as a result the current date is displayed instead.
Although this format is still accepted by mandoc for backward
compatibility.
For portability it states the standard mdoc date format should be
used instead: .Dd month day, year
I applied the following patch to sbase's last commit b30fb56
and
it fixes the issue.
106 lines
1.7 KiB
Groff
106 lines
1.7 KiB
Groff
.Dd October 8, 2015
|
|
.Dt EXPR 1
|
|
.Os sbase
|
|
.Sh NAME
|
|
.Nm expr
|
|
.Nd evaluate expression
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Ar expression
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
evaluates
|
|
.Ar expression
|
|
and writes the result to stdout.
|
|
.Pp
|
|
There are two elemental expressions,
|
|
.Sy integer
|
|
and
|
|
.Sy string.
|
|
Let
|
|
.Sy expr
|
|
be a non-elemental expression and
|
|
.Sy expr1 ,
|
|
.Sy expr2
|
|
arbitrary expressions.
|
|
Then
|
|
.Sy expr
|
|
has the recursive form
|
|
.Sy expr = [(] expr1 operand expr2 [)].
|
|
.Pp
|
|
With
|
|
.Sy operand
|
|
being in order of increasing precedence:
|
|
.Bl -tag -width Ds
|
|
.It |
|
|
Evaluate to
|
|
.Sy expr1
|
|
if it is neither an empty string nor 0; otherwise evaluate to
|
|
.Sy expr2 .
|
|
.It &
|
|
Evaluate to
|
|
.Sy expr1
|
|
if
|
|
.Sy expr1
|
|
and
|
|
.Sy expr2
|
|
are neither empty strings nor 0; otherwise evaluate to 0.
|
|
.It = > >= < <= !=
|
|
If
|
|
.Sy expr1
|
|
and
|
|
.Sy expr2
|
|
are integers, evaluate to 1 if the relation is true and 0 if it is false.
|
|
If
|
|
.Sy expr1
|
|
and
|
|
.Sy expr2
|
|
are strings, apply the relation to the return value of
|
|
.Xr strcmp 3 .
|
|
.It + -
|
|
If
|
|
.Sy expr1
|
|
and
|
|
.Sy expr2
|
|
are integers, evaluate to their sum or subtraction.
|
|
.It * / %
|
|
If
|
|
.Sy expr1
|
|
and
|
|
.Sy expr2
|
|
are integers, evaluate to their multiplication, division or remainder.
|
|
.It :
|
|
Evaluate to the number of characters matched in
|
|
.Sy expr1
|
|
against
|
|
.Sy expr2 . expr2
|
|
is anchored with an implicit '^'.
|
|
.Pp
|
|
You can't directly match the empty string, since zero matched characters
|
|
resolve equally to a failed match.
|
|
To work around this limitation, use "expr X'' : 'X$' instead of "expr ''
|
|
: '$'"
|
|
.El
|
|
.Sh EXIT STATUS
|
|
.Bl -tag -width Ds
|
|
.It 0
|
|
.Ar expression
|
|
is neither an empty string nor 0.
|
|
.It 1
|
|
.Ar expression
|
|
is an empty string or 0.
|
|
.It 2
|
|
.Ar expression
|
|
is invalid.
|
|
.It > 2
|
|
An error occurred.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr test 1
|
|
.Sh STANDARDS
|
|
The
|
|
.Nm
|
|
utility is compliant with the
|
|
.St -p1003.1-2013
|
|
specification.
|