xref: /illumos-gate/usr/src/man/man1/ckstr.1 (revision 109018f8f97a6dd5c4801a8697970f6ed5ee3cea)
te
Copyright 1989 AT&T Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
CKSTR 1 "Sep 14, 1992"
NAME
ckstr, errstr, helpstr, valstr - display a prompt; verify and return a string answer
SYNOPSIS

ckstr [-Q] [-W width] [ [-r regexp] [...]] [-l length]
 [-d default] [-h help] [-e error] [-p prompt]
 [-k pid [- s signal]]

/usr/sadm/bin/errstr [-W width] [-e error] [-l length]
 [ [-r regexp] [...]]

/usr/sadm/bin/helpstr [-W width] [-h help] [-l length]
 [ [-r regexp] [...]]

/usr/sadm/bin/valstr [-l length] [ [-r regexp] [...]] input
DESCRIPTION

The ckstr utility prompts a user and validates the response. It defines, among other things, a prompt message whose response should be a string, text for help and error messages, and a default value (which are returned if the user responds with a RETURN).

The answer returned from this command must match the defined regular expression and be no longer than the length specified. If no regular expression is given, valid input must be a string with a length less than or equal to the length defined with no internal, leading or trailing white space. If no length is defined, the length is not checked.

All messages are limited in length to 79 characters and are formatted automatically. Tabs and newlines are removed after a single white space character in a message definition, but spaces are not removed. When a tilde is placed at the beginning or end of a message definition, the default text will be inserted at that point, allowing both custom text and the default text to be displayed.

If the prompt, help or error message is not defined, the default message (as defined under EXAMPLES) is displayed.

Three visual tool modules are linked to the ckstr command. They are errstr (which formats and displays an error message on the standard output), helpstr (which formats and displays a help message on the standard output), and valstr (which validates a response).

OPTIONS

The following options are supported: -d default

Defines the default value as default. The default is not validated and so does not have to meet any criteria.

-e error

Defines the error message as error.

-h help

Defines the help message as help.

-k pid

Specifies that process ID pid is to be sent a signal if the user chooses to quit.

-l length

Specifies the maximum length of the input.

-p prompt

Defines the prompt message as prompt.

-Q

Specifies that quit will not be allowed as a valid response.

-r regexp

Specifies a regular expression, regexp, against which the input should be validated. May include white space. If multiple expressions are defined, the answer need match only one of them.

-s signal

Specifies that the process ID pid defined with the -k option is to be sent signal signal when quit is chosen. If no signal is specified, SIGTERM is used.

-W width

Specifies that prompt, help and error messages will be formatted to a line length of width.

OPERANDS

The following operand is supported: input

Input to be verified against format length and/or regular expression criteria.

EXAMPLES

Example 1 Default prompt

The default prompt for ckstr is:

example% ckstr
Enter an appropriate value [?,q]:

Example 2 Default error message

The default error message is dependent upon the type of validation involved. The user will be told either that the length or the pattern matching failed. The default error message is:

example% /usr/sadm/bin/errstr
ERROR: Please enter a string which contains no embedded,
leading or trailing spaces or tabs.

Example 3 Default help message

The default help message is also dependent upon the type of validation involved. If a regular expression has been defined, the message is:

example% /usr/sadm/bin/helpstr -r regexp
Please enter a string which matches the following pattern:
regexp

Other messages define the length requirement and the definition of a string.

Example 4 Using the quit option

When the quit option is chosen (and allowed), q is returned along with the return code 3. Quit input gets a trailing newline.

Example 5 Using the valstr module

The valstr module will produce a usage message on stderr. It returns 0 for success and non-zero for failure.

example% /usr/sadm/bin/valstr
usage: valstr [-l length] [[-r regexp] [\|.\|.\|.\|]] input
EXIT STATUS

The following exit values are returned: 0

Successful execution.

1

EOF on input, or negative width on -W option, or usage error.

2

Invalid regular expression.

3

User termination (quit).

SEE ALSO

signal.h (3HEAD), attributes (7)