cc: roland.mainz at nrubsig.org
Subject: Re: Re: [ksh93-integration-discuss] [Bug 399] New: "alias.sh"  
mayexecute the wrong command
--------

> Erm... the name "alias.sh" may be a bit misleading in this case: The
> script is not the "alias.sh" script from the ksh93 test suite, it's an
> Solaris OS/Net-specific script which "maps" a physical file like
> /usr/bin/kill to the ksh/ksh93 "kill" builtin (take a look at
> /usr/bin/kill on a Solaris machine - it's a shell script which calls the
> /usr/bin/ksh "kill" builtin).
> The problem is that if a builtin like "kill" (<--- example!!) is bound
> to a specific path element then the original script (e.g.
> -- snip --
> cmd=`basename $0`
> $cmd "$@"
> -- snip --
> ) ... will crawl over all elements in ${PATH} and execute the first
> command called "kill" it finds. If the "kill" script is itself called
> /usr/bin/kill and the path contains /usr/xpg4/bin:/usr/bin then the
> /usr/xpg4/bin/kill command will be executed by the /usr/bin/kill script
> instead of the (intended) "kill" builtin bound to /usr/bin/kill
> 
> ----
> 
> Bye,
> Roland
> 
> -- 
>   __ .  . __
>  (o.\ \/ /.o) roland.mainz at nrubsig.org
>   \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
>   /O /==\ O\  TEL +49 641 7950090
>  (;O/ \/ \O;)

If /usr/bin/kill wants to call the builtin kill, then it should
do
        builtin kill
before it invokes kill.  This way kill will make to the builtin
rather than /usr/bin/kill and there won't be a path search.

David Korn
dgk at research.att.com

Reply via email to