April Chin wrote:
> Ok, thanks for this info.
> The sleep builtin seems like something we should include in ksh93, then,
> and I don't see any behavior in the builtin sleep which is incompatible
> with the Solaris sleep binary.
>
> So besides "sleep", the other ksh93 builtins that are not Solaris ksh
> builtins (and not Solaris binaries) are getconf and printf.
> Are there dependencies on these being ksh93 builtins?
>
> And there are the builtins from libcmd, which are not available
> by default, but seem to be activated via "builtin <command name>"
> although I am able to activate only a subset in ksh93:
>
> basename
> cat
> chmod
> cmp
> cut
> dirname
> head
> logname
> mkdir
> uname
> wc
>
> Would ksh93 users need to have these builtins available?
I guess that basename and dirname look harmless enough.
Things like cat and others that do I/O or touch the file system may have
some compatibility issues with their Solaris counterparts - particularly
in the set of options they support.
Example:
cat [-nbsuvet] [file?] ( solaris )
cat [-bdenstuvABDEST] ( ast )
ksh93 introduces some new options, mostly harmless. There are some
differences in the use of -e, -v and -E, but those are only interesting
for interactive use.
As for basename and dirname, I typically use base=${path##*/} and
dir=${path%/*}, which eliminates the $( ... ) or `...` along the way.
But a builtin would help performance for those legacy scripts.
Cheers,
Henk