Red Hat Bugzilla – Bug 1321643
Bug in /etc/profile.d/colorls.sh when using the ksh shell [el6]
Last modified: 2017-03-21 06:08:32 EDT
The problem happens in other profile.d files, and also in rhel7. The issue is that ksh does not set PS1 until reading profile/initialization files, and only sets it if it is unset. Some initialization files in /etc/profile.d use the pattern: # Skip all for noninteractive shells. [ -z "$PS1" ] && return at the start of the file, what does not work for ksh. I believe this is not a reason to rework ksh initialization, and the logic should be changed to check if fd 0 is a tty, for example, as suggested by the user: [ ! -t 0 ] && return or some variant, checking for the "i" character in $-
Makes sense - https://bugzilla.redhat.com/show_bug.cgi?id=614694 was about the same in the setup package, fixing this issue in /etc/profile, but profile.d scripts were never modified the same way.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2017-0654.html