Jeanette and Ken Nutsford wrote:
>
> Jeff Kell responded to our suggestion
>
> >> How about some of the Posix gurus posting command file scripts that
> do some of the useful Posix things so that the rest of us can start
> using the half of MPE/iX that we are paying for but not utilising.
> >
> <very useful stuff snipped>
>
> This is all very good Jeff, but how do to get into the Shell? A HELP SHELL or
> HELP POSIX told us nothing. The manual "Using the Hierarchical File System"
> mentioned the HPPXUDC catalog file with the sh udc invoking the posix shell to
> give us a $ prompt. This is where we hit the "wall". Any of the commands in your
> examples (rm, mv, find, cat) return "not found". Where do we go from here?
Hmmm... most unusual. You should first issue a:
:setcatalog hppxudc.pub.sys;system [or for whatever user population desired]
Next you will want to fix /etc/profile (check the archives... I've posted a
long diatribe... if you don't fix this file you must be on an hp2392a terminal
type and the timezone will be GMT).
If you simply get a '$' prompt, that sounds like you are invoking sh.hpbin.sys
directly. This gives you a 2nd-level shell, not a login shell. If you are
doing this, you want to ':xeq sh.hpbin.sys -L' for a login shell (which will
invoke /etc/profile, which in turn sets your PATH variable so that the shell
can find the commands rm, mv, cat, etc). The 2nd level shell leaves your
environment essentially null.
Most of the commands (except internal ones) are located in /bin, such as the
/bin/sh, /bin/rm, /bin/mv, etc. These are symbolic links to the actual program
files SH.HPBIN.SYS, RM.HPBIN.SYS, MV.HPBIN.SYS, etc. If your "shell" can't
find these commands, check the following in order:
(1) From your shell prompt, type "set" and hit return. This is similar to
a :showvar @ in the CI. There should be a line for the variable PATH
and it should be set to "/bin". If not, the shell will not be able to
find the symbolic link and thus "command not found".
(2) If that worked, try to "ls -l /bin" and see if you can see the posix
links for sh, rm, mv, etc. Then look at the permission bits; they
should be something like:
lrwxrwxrwx rm (etc)
^^^^^^^^^^
these are the "permission bits" and you must have at least "x" in the
last position. If not, look into the 'chmod' command for these files;
you'll need to (at least) chmod o+x -R /bin.
(3) If that worked, try to "ls -l /SYS/HPBIN" and check permission bits
on the actual binaries. You likewise need "x" in the last position,
else you must chmod similarly (some releases of 5.5 had permissions
set wrong on these files).
If the shell is "totally" fried, it could be because /etc/profile cannot be
read from your logon userID. Use similar 'ls -l' (or if you can't get the
shell, do ':ls.hpbin.sys "-l /etc"' to check permissions on /etc/profile and
/etc/motd (the former is like a logon UDC, the latter like :welcome). You
need "r" access in the last set of 3 permission bits; if it's not there, then
you can ':chmod.hpbin.sys "o+x /etc/profile"' to fix it.
Finally, you may run into terminal type problems -- see the recent threads on
the subject -- you may need to chmod /usr/lib/terminfo and related files as
well.
This is an excellent example of why some relatively trivial "posix smoothing"
is necessary. None of the above should be required. It may be confusing and
overly-complicated, but it is one of the hurdles you must first cross to get
posix to work. And ESPECIALLY note that all of the above can be fixed by a
competent engineer in under an hour with no code modifications whatsoever.
Demand what should be rightfully yours. Good luck! If this doesn't fix it
for you, e-mail me offline and I'll do what I can to finish the job.
Jeff Kell <[log in to unmask]>
|