2.17. RHEA-2009:1245: pdksh
A new pdksh package which provides a public domain implementation of the ksh-88 interactive and shell-scripting language is now available for Red Hat Enterprise Linux 5.
The Public Domain Korn SHell implements the ksh-88 programming language for both interactive and shell script use.
This new pdksh package provides an alternative to ksh (ksh-93) for backward compatibility. It is also useful in situations where customers would like to port their scripts from ksh-88 to ksh-93.
Important: the pdksh package can be installed alongside the ksh package on the same system, thus providing both ksh-88 and ksh-93 Korn shell implementations. The alternatives utility can be used to switch between them. To set or change the ksh implementation, enter the following at the shell prompt as the root user:
alternatives --config ksh
You will then be prompted for the ksh implementation you prefer to use. On systems which have the ksh package installed, ksh-93 will be the default implementation unless this is changed by using "alternatives", or unless the ksh package is uninstalled and the pdksh package is installed.
The "
#!/bin/ksh
" bang line at the top of Korn shell scripts causes the ksh implementation selected in "alternatives", which is ksh-93 by default, to run that script. To force scripts to run with the correct ksh implementation despite which Korn shell implementation is selected in "alternatives", employ the following bang lines:
for ksh-88: the first line of the script should read "#!/bin/pdksh"
for ksh-93: the first line of the script should read"#!/bin/ksh93"
All users requiring pdksh should install this newly-released package, which adds this enhancement.