How to identify ancient KornShell version?
Solution 1
CTRL+ALT+V
or
ESC, CTRL+V
This was discovered on a related question on the Unix & Linux SE:
How can I safely get the version of ksh? - Unix & Linux Stack Exchange
This revealed that we are running
Version M-11/16/88f
Maybe it's not that ancient after all!
Solution 2
Try what $(which ksh)
For example, on a Solaris 8 box:
$ what $(which ksh)
/usr/bin/ksh:
Version M-11/16/88i
SunOS 5.8 Generic 110662-24 Apr 2007
Related videos on Youtube
JonathanDavidArndt
This person prefers to keep an air of mystery about them.
Updated on September 18, 2022Comments
-
JonathanDavidArndt almost 2 years
We had a guy retire on us, and the documentation left behind is a little on the light side. Need a little help identifying and using part an older client-server system.
The server itself is maintained by several excellent Unix admins. We are currently running AIX 7.1.0.0 on the server side.
However, when we log in using the proprietary SSH client, we are greeted with a shell that looks familiar, but is strange in other ways. The shell itself seems to be KornShell:
echo $0 -ksh
But the shell doesn't respond to normal shell commands (cannot tap up/down to recall recent commands, cannot backspace normally, no auto-complete with tab, etc.)
Recent commands are recalled using ESC + k
If the ESC key is tapped, the terminal stops responding to input until i, a, s, or cc are pressed (or k, as already mentioned brings up the most recent command).
To edit a recalled command we have to tap SHIFT + UP
Backspace is actually the RIGHT arrow, and to clear a typed command we have to hit SHIFT + RIGHT
The
whence
command is not available, and none of the techniques to discover the KSH version on this page worked.Someone in our office suggested this is some kind of inline
vi
.Does anyone else have any advice? Is there any documentation available?
-
Vijay Anand Mareddy over 6 yearsprobably a combination of
set -o vi
(you can get back withset -o emacs
) and some incorrectly set$TERM
variable (not matching the terminal emulation emulated by your SSH client). -
JonathanDavidArndt over 6 years@mihi This does favorably change the way the shell responds. Still having trouble figuring out how recent commands can be recalled (the Up arrow is not working), but at least the backspace key works normally.
-
jrw32982 over 6 yearsYou should check out
~/.profile, ~/.kshrc, /etc/profile
and the value of$ENV
. Also read the man page for ksh. You will then find whereset -o vi
is being run among many other things.
-
-
JonathanDavidArndt over 6 yearsFor this, I get a huge, vomitous mass of information, 40+ lines long, mostly .c libraries. At the very end, there is an entry for
vi.c, cmdksh, aix71B 1040A_71B
followed by a datestamp from the year 2010. -
foxfabi over 6 yearssearch through the spew for the
88
or93
to see if you can narrow down the ksh version. -
foxfabi over 6 yearsAnd, I just had the same thought as mihi above:
set -o emacs
-
JonathanDavidArndt over 6 yearsReally want to accept this answer. You still get my upvote. Even though this did not directly solve the problem, it still was extremely helpful. The command suggested actually works -- unlike many of the other suggestions around the webs. Thank you. You are a gentleman and a scholar.
-
JonathanDavidArndt over 6 yearsAs it turns out, your friendly Unix admins can install an up-to-date version of
bash
on AIX 7.1 by request. ksh is dead; long live ksh~