ckdate(1) — USER COMMANDS
NAME
ckdate, errdate, helpdate, valdate − prompts for and validates a date
SYNOPSIS
ckdate [−Q] [−W width] [−f format] [−d default] [−h help] [−e error] [−p prompt]
[−k pid [−s signal]] errdate [−W] [−e error] [−f format]
helpdate [−W] [−h help] [−f format]
valdate [−f format] input
DESCRIPTION
ckdate prompts a user and validates the response. It defines, among other things, a prompt message whose response should be a date, text for help and error messages, and a default value (which will be returned if the user responds with a carriage return). The user response must match the defined format for a date.
All messages are limited in length to 70 characters and are formatted automatically. Any white space used in the definition (including newline) is stripped. The −W option cancels the automatic formatting. 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 NOTES) will be displayed.
Three visual tool modules are linked to the ckdate command. They are errdate (which formats and displays an error message), helpdate (which formats and displays a help message), and valdate (which validates a response). These modules should be used in conjunction with FML objects. In this instance, the FML object defines the prompt. When format is defined in the errdate and helpdate modules, the messages will describe the expected format.
The options and arguments for this command are:
−Q Specifies that quit will not be allowed as a valid response.
−W width Specifies that prompt, help and error messages will be formatted to a line length of width.
−f format Specifies the format against which the input will be verified. Possible formats and their definitions are:
%b = abbreviated month name
%B = full month name
%d = day of month (01 - 31)
%D = date as %m/%d/%y (the default format)
%e = day of month (1 - 31; single digits are preceded by a blank)
%h = abbreviated month name (jan, feb, mar)
%m = month number (01 - 12)
%y = year within century (e.g. 89)
%Y = year as CCYY (e.g. 1989)
−d default
Defines the default value as default.
The default does not have to meet the format criteria.
−h help
Defines the help messages as help.
−e error
Defines the error message as error.
−p prompt
Defines the prompt message as prompt.
−k pid
Specifies that process ID pid is to be sent a signal if the user chooses
to abort.
−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.
input
Input to be verified against format criteria.
EXIT CODES
0 = Successful execution
1 = EOF on input
2 = Usage error
3 = User termination (quit)
4 = Garbled format argument
NOTES
The default prompt for ckdate is:
Enter the date [?,q]:
The default error message is:
ERROR - Please enter a date, using the following format: <format>.
The default help message is:
Please enter a date, using the following format: <format>.
When the quit option is chosen (and allowed), q is returned along with the return code 3. The valdate module will not produce any output. It returns zero for success and non-zero for failure.
— Essential Utilities