The applications use the parameter system to get the necessary information from the outside world. The source of information is not always the user's keyboard. The specification of a parameter on the command line is slightly different from entering the value at the prompt.
A good model to imagine the workings of the parameter system is as follows. The system is a pool of parameter values. On the command line you can pass values to the parameter system (not the application). When the application runs and needs a parameter value, it will ask the parameter system (not the user terminal). For each parameter the system has two sets of rules, one to arrive at a prompt default value and one to work out the value itself. If the value was specified on the command line, the system will just pass that as the value to the application. Otherwise the value is so far unknown to the parameter system and it will construct a prompt default and a value according to the rules. There are several possible sources for these two:
So asking the user is only one way of getting information from the parameter system. You also see that the defaults offered-or accepted by `accept' on the command line-may be arrived at in a number of ways.
FIGARO A general data reduction system