/etc/wall
Dave Hammond
daveh at marob.MASA.COM
Thu Feb 16 00:59:39 AEST 1989
I rarely (once every few years :-) use /etc/wall, but a recent system
problem required quickly informing folks. Attempting to run "wall"
from a root login, running ksh, resulted in:
ksh: who^sed: not found
What? A glance into /etc/wall showed the line:
who^sed -e 's/^[^ ]* *\([^ ]*\).*/cat \/tmp\/'$$' >\/dev\/\1 \&sleep 2/' | sh
[ To those under age 40 -- ^ was a synonym for | on machines which
didn't include a | keystroke [about 100 years ago :-)]. Therefore, the
construct "who^sed" was indented to run "who" and pipe it to "sed". ]
My first gripe is that the programmer who coded the above line used ^
to pipe "who" to "sed" , and | to pipe "sed" to "sh" ... Two different
pipe metachars in one line.
My second gripe is that no modern Unix programmer uses ^ as a pipeline
metacharacter. Ksh dropped the ^ synonym *years* ago, labeling it
an antiquated metacharacter; The initial reference to ^ in the SCO sh(C)
manual page is a brief, parenthetical note: "(The caret (^) is an obsolete
synonym for the vertical bar and should not be used in a pipeline.)".
Perhaps SCO would consider modernizing /etc/wall.
BTW -- followups about not using ksh as a root shell, not using /etc/wall,
or making the (obviously easy) fix to wall, are beside the point.
--
Dave Hammond
daveh at marob.masa.com
More information about the Comp.unix.xenix
mailing list