The first step in understanding the comment is to know what VMS is. So here's a link for that: http://en.wikipedia.org/wiki/OpenVMS
The next step is to understand redirection and wildcarding. In Linux and other members of the unix family, a command like
cat foo* > /tmp/foolist
will call the main
function of cat
with argv
containing the matches for foo*
. The output file /tmp/foolist
will already be open as stdout
before main
is entered.
VMS doesn't do that. cat
will find the unexpanded string "foo*"
and the redirection operator >
in its argv. So the utility itself (cat
) must do the redirection (opening the output file) and wildcarding (replacing "foo*"
with "foo1", "foo2", "foo3"
). That's what initialize_main
will do on VMS. On unix, it'll do nothing ("Generally a noop").