While qsh is compatible with other standard
shell interpreters, there are several differences:
There is no support for the <>
redirection operator.
There is no support for a command history list, the
HISTSIZE and HISTFILE variables, or the
fc (or hist) built-in utility. As
an alternative, the QSH CL command has support for command
retrieval.
There is no support for command line editing and the
EDITOR variable.
There is no support for the MAIL,
MAILCHECK, and MAILPATH variables.
There is no support for job control. There is no concept of a
foreground or background process group on i5/OS(TM). This means it is
possible for multiple jobs to be reading from the terminal at the
same time. qsh does not support:
The fg or bg built-in
utilities.
Using the Suspend key (typically <ctrl>z) to
send the SIGTSTP signal to the foreground process group.
Using the Stop key (typically <ctrl>s) to send
the SIGSTOP signal to the foreground process group.
Using the Restart key (typically <ctrl>q) to
send the SIGCONT signal to the foreground process group.
Using the Interrupt key (typically <ctrl>c) to
send the SIGINT signal to the foreground process group. As an
alternative, you can use SysReq 2 from an interactive shell session
to send the SIGINT signal to the shell interpreter process and any
currently running child processes.
There is no support for the End-of-file key (typically
<ctrl>d). As an alternative, use a here-document to redirect text entered at
the command line to standard input of a utility.
When calling a program, there is a limit to the maximum number of
parameters you can pass to the command. If the program was built for
a release before V5R3, the limit is 255 parameters. If the program was
built for V5R3 or a subsequent release, the limit is 65535 parameters.
When using path name expansion with some case insensitive file
systems, you must use upper case characters in the pattern. For
example, to list all of the program objects in the QSHELL library
you should use this command: