Guy Harris guy at
Thu May 3 03:53:51 AEST 1990

>BTW, while running 'strings' on ksh to find the version number, I
>noticed that the pathnames of many standard utilities are hard-coded into
>the binary.  Why would ksh would want to call cc, make, sed, grep, who,
>pr, mail or ls?

Because you typed "cc", "make", etc. to it....

>Any why would it care about date, mv, rm, or chmod
>when these are just wrappers around system calls?

Many modern UNIX shells have mechanisms to avoid doing a full search of
PATH every time you run a command.  The S5 Bourne shell, the C shell,
and the Korn shell all seem to have their own different ones; "ksh" uses
aliases.  It supports "tracked aliases"; this means that the first time
you run a command, it does a path search, and then aliases that
command's name to the full path of the copy it found, so that subsequent
executions go straight to the right path.

As I remember, the Korn shell also includes some pre-defined aliases of
that sort, and those are the strings you found.

More information about the Comp.unix.i386 mailing list