utilities/man
This commit is contained in:
parent
5fbbf96062
commit
7dcc2ecac8
29
man/add.1
Normal file
29
man/add.1
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
.TH ADD 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
add \(en add integers
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Add sums an arbitrary quantity of integers and prints the output.
|
||||||
|
|
||||||
|
.SH NOTES
|
||||||
|
|
||||||
|
Add may be confused with sum(1), which prints checksums of files.
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
Add will print a message to standard error and exit unsuccessfully if a non-integer argument is given.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
Add does not work with decimal values.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
fdivide(1), multiply(1), stris(1), subtract(1)
|
13
man/cat.1
Normal file
13
man/cat.1
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
.TH CAT 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
cat \(en concatenate files
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
cat [file...]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Cat prints the contents of file arguments, one after the other.
|
27
man/echo.1
Normal file
27
man/echo.1
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
.TH ECHO 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
echo \(en echo arguments
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
echo
|
||||||
|
.RB [ argument... ]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Echo echoes given arguments delimited by an ASCII blank, with a terminating newline.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
Echo should not be used in scripts; printf(1) should be used in its place.
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
|
||||||
|
Echo does not recognize the escape sequences described in the X/Open System Interface Extension to POSIX.
|
||||||
|
This is intended.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
22
man/false.1
Normal file
22
man/false.1
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
.TH FALSE 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
false \(en do nothing, unsuccessfully
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
False does nothing regardless of operands or standard input.
|
||||||
|
False is always unsuccessful.
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
|
||||||
|
False functions as described in POSIX.1-2017.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
true(1)
|
52
man/getpaths.3
Normal file
52
man/getpaths.3
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
.TH GETPATHS 3
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
getpaths \- get an array of the current executable PATHs
|
||||||
|
|
||||||
|
.SH LIBRARY
|
||||||
|
libshell
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.In stdlib.h
|
||||||
|
.In string.h
|
||||||
|
.In libshell.h
|
||||||
|
.Ft char **
|
||||||
|
.Fn getpaths void
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.Fn getpaths
|
||||||
|
returns the system PATHs as an array of null-terminated strings ordered from highest to lowest priority.
|
||||||
|
The last address in the array is NULL.
|
||||||
|
The first address in the array, and the array address itself, should be passed to
|
||||||
|
.Xr free 3
|
||||||
|
to release the allocated storage when the returned array is no longer needed.
|
||||||
|
|
||||||
|
.SH EXAMPLES
|
||||||
|
To print the current PATHs, from highest to lowest priority:
|
||||||
|
.Bd -literal -offset indent
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <libshell.h>
|
||||||
|
int main(){
|
||||||
|
char **paths;
|
||||||
|
int i;
|
||||||
|
paths = getpaths();
|
||||||
|
if(paths == NULL)
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
for(i = 0; paths[i] != NULL; ++i)
|
||||||
|
printf("%s\n", paths[i]);
|
||||||
|
free(*paths);
|
||||||
|
free(paths);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
.Ed
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.Xr getenv 3
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
.Fn getpaths
|
||||||
|
is not part of any current standard.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
Certainly existent but not yet known.
|
35
man/lowercase.1
Normal file
35
man/lowercase.1
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
.TH LOWERCASE 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
lowercase \(en make text lowercase
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
lowercase (-f)
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Lowercase prints text from standard input to standard output as lowercase.
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
Lowercase will print an error message and exit with the appropriate status from sysexits(3) if it attempts
|
||||||
|
to process a glyph outside the supported encoding range; this is to not inadverdently mangle multi-byte
|
||||||
|
characters. The -f option exists to override this and process every character anyway.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
Lowercase is not Unicode aware unless it's compiled with the USE_ICU flag, which requires libicu.
|
||||||
|
This isn't tested to any extent.
|
||||||
|
.PP
|
||||||
|
Lowercase is redundant to usages of tr(1) among other POSIX-specified utilities.
|
||||||
|
|
||||||
|
.SH HISTORY
|
||||||
|
|
||||||
|
Lorinda Cherry demonstrates using a lowercase utility in the AT&T film
|
||||||
|
.I UNIX: Making Computers Easier To Use.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
25
man/multiply.1
Normal file
25
man/multiply.1
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
.TH MULTIPLY 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
multiply \(en multiply integers
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Multiply multiplies an arbitrary quantity of integers and prints the output.
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
Multiply will print a message to standard error and exit unsuccessfully if a non-integer argument is given.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
Multiply does not work with decimal values.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
add(1), fdivide(1), stris(1), subtract(1)
|
18
man/nonzero.1
Normal file
18
man/nonzero.1
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
.TH NONZERO 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
nonzero \(en check for arguments
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Nonzero exits successfully if any arguments are provided, and unsuccessfully otherwise.
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
|
||||||
|
Nonzero is not described in POSIX.1-2017.
|
||||||
|
Nonzero's function may be performed on a purely POSIX system with test(1).
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
49
man/simexec.1
Normal file
49
man/simexec.1
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
.TH SIMEXEC 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
simexec \(en execute a program with the given argv
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
simexec
|
||||||
|
.RB [ pathname ]
|
||||||
|
.RB [ argv... ]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Simexec executes a given program with the given argv.
|
||||||
|
|
||||||
|
.SH PITFALLS
|
||||||
|
|
||||||
|
Non-binary programs cannot be executed. The PATH environment variable is not used and a valid pathname (relative or absolute) must be specified.
|
||||||
|
.PP
|
||||||
|
Simexec relies on the user to take proper precautions.
|
||||||
|
argv is not just the operands for the program but in fact directly the argv it will receive in runtime;
|
||||||
|
the first argv entry is the program's name, and forgoing this, though acceptable by simexec, can break customary assumptions.
|
||||||
|
for example, the true(1) implementation in the GNU coreutils suffers a segmentation fault if there is no argv[0].
|
||||||
|
.PP
|
||||||
|
While POSIX.1-2017 doesn't mandate there being an argv[0] per se a Strictly Conforming POSIX Application must pass an argv[0].
|
||||||
|
It has also been said that those who do not pass an argv[0] are mean and nasty and smell of elderberries.
|
||||||
|
.PP
|
||||||
|
Simexec directly uses the execv library function. It cannot execute shell scripts intelligently (via shebang).
|
||||||
|
It is inadviseable to use simexec as an alternative to simply calling a program, and in fact probably inadviseable to use simexec at all.
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
Simexec returns the value of execv(3), which will be -1 (or 0xFF; 255) if an error occurs.
|
||||||
|
This is not distinguishable from the executed program returning the same exit status.
|
||||||
|
.PP
|
||||||
|
Simexec will print a error message and return the proper sysexits(3) value if used in an invalid manner.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
exec(3)
|
||||||
|
.PP
|
||||||
|
The C89 standard's draft, section 2.1.2.2: "Hosted environment".
|
||||||
|
.PP
|
||||||
|
POSIX.1-2017 System Interfaces: execv. Particularly under the RATIONALE section header.
|
31
man/sleep.1
Normal file
31
man/sleep.1
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
.TH SLEEP 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
sleep \(en wait a moment
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
sleep
|
||||||
|
.RB [ seconds ]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Sleep waits the given amount of seconds before exiting.
|
||||||
|
|
||||||
|
.SH EXIT STATUS
|
||||||
|
|
||||||
|
Sleep exits with a status indicating how much time is left for the program to sleep;
|
||||||
|
in practice, this is always 0.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
User may still be tired after invoking sleep.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
sleep(3)
|
33
man/streq.1
Normal file
33
man/streq.1
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
.TH STREQ 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
streq \(en compare strings
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
streq
|
||||||
|
.RB [ strings... ]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Streq checks whether the given strings are the same.
|
||||||
|
Streq exits successfully if the strings are identical and unsuccessfully if not.
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
Streq will print an error message and exit unsuccessfully with a status described in sysexits(3) if used incorrectly (given less than two operands).
|
||||||
|
|
||||||
|
.SH UNICODE
|
||||||
|
|
||||||
|
Streq will exit unsuccessfully if the given strings are not identical;
|
||||||
|
Unicode strings may need to normalized if the intent is to check visual similarity and not byte similarity.
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
|
||||||
|
Streq is not described in POSIX.1-2017.
|
||||||
|
Streq's function may be performed on a purely POSIX system with test(1).
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
25
man/stris.1
Normal file
25
man/stris.1
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
.TH STRIS 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
stris \(en test if arguments are numbers
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
stris
|
||||||
|
.RB { float , int , uint }
|
||||||
|
[number...]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
Stris tests an arbitrary amount of numbers against one of three properties: float, int, or uint; which correspond to whether the numbers are all representable as floating-point values, integers, or unsigned (absolute) integers.
|
||||||
|
.PP
|
||||||
|
Stris exits successfully if all given numbers match the specified property, and unsuccessfully if stris was used improperly or the numbers did not match the specified property.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
|
||||||
|
Non-simple numbers that are technically representable as floating-point numbers may not be recognized. This includes infinity, negative infinity, and NaN.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
22
man/true.1
Normal file
22
man/true.1
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
.TH TRUE 1
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
|
||||||
|
true \(en do nothing, successfully
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
True does nothing regardless of operands or standard input.
|
||||||
|
True is always successful.
|
||||||
|
|
||||||
|
.SH STANDARDS
|
||||||
|
|
||||||
|
True functions as described in POSIX.1-2017.
|
||||||
|
|
||||||
|
.SH COPYRIGHT
|
||||||
|
|
||||||
|
Public domain.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
|
||||||
|
false(1)
|
Loading…
Reference in New Issue
Block a user