xref: /illumos-gate/usr/src/man/man1/ckpath.1 (revision edb348833aaacfa1176e502ad38875fd0b2717ab)
te
Copyright 1989 AT&T Copyright (c) 2005, 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]
CKPATH 1 "Nov 4, 2005"
NAME
ckpath, errpath, helppath, valpath - display a prompt; verify and return a pathname
SYNOPSIS

ckpath [-Q] [-W width] [-a | l] [-b | c | f | y]
 [-n [o | z]] [-rtwx] [-d default] [-h help]
 [-e error] [-p prompt] [-k pid [-s signal]]

/usr/sadm/bin/errpath [-W width] [-a | l] [-b | c | f | y]
 [-n [o | z]] [-rtwx] [-e error]

/usr/sadm/bin/helppath [-W width] [-a | l] [-b | c | f | y]
 [-n [o | z]] [-rtwx] [-h help]

/usr/sadm/bin/valpath [-a | l] [-b | c | f | y]
 [-n [o | z]] [-rtwx] input
DESCRIPTION

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

The pathname must obey the criteria specified by the first group of options. If no criteria is defined, the pathname must be for a normal file that does not yet exist. If neither -a (absolute) or -l (relative) is given, then either is assumed to be valid.

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 is 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 ckpath command. They are errpath (which formats and displays an error message on the standard output), helppath (which formats and displays a help message on the standard output), and valpath (which validates a response).

OPTIONS

The following options are supported: -a

Pathname must be an absolute path.

-b

Pathname must be a block special file.

-c

Pathname must be a character special file.

-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.

-f

Pathname must be a regular file.

-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

Pathname must be a relative path.

-n

Pathname must not exist (must be new).

-o

Pathname must exist (must be old).

-p prompt

Defines the prompt message as prompt.

-Q

Specifies that quit is not allowed as a valid response.

-r

Pathname must be readable.

-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.

-t

Pathname must be creatable (touchable). Pathname will be created if it does not already exist.

-w

Pathname must be writable.

-W width

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

-x

Pathname must be executable.

-y

Pathname must be a directory.

-z

Pathname must have a file having a size greater than zero bytes.

OPERANDS

The following operand is supported: input

Input to be verified against validation options.

EXAMPLES

The text of the default messages for ckpath depends upon the criteria options that have been used.

Example 1 Default prompt

An example default prompt for ckpath (using the -a option) is:

example% ckpath -a
Enter an absolute pathname [?,q]

Example 2 Default error message

An example default error message (using the -a option) is:

example% /usr/sadm/bin/errpath -a
ERROR: A pathname is a filename, optionally preceded by parent
 directories.
 The pathname you enter: - must begin with a slash (/)

Example 3 Default help message

An example default help message (using the -a option) is:

example% /usr/sadm/bin/helppath -a
A pathname is a filename, optionally preceded by parent directories.
The pathname you enter: - must begin with a slash (/)

Example 4 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 valpath module

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

example% /usr/sadm/bin/valpath
usage: valpath [-[a|l][b|c|f|y][n|[o|z]]rtwx] 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

Mutually exclusive options.

3

User termination (quit).

4

Mutually exclusive options.

SEE ALSO

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