Chapter 6. Tips and techniques 147
scrolls. There are few restrictions on commands and their parameters. The commands can be
rather inconsistent and help can be non-existent or very basic. On the other hand, there are
some useful features such as input and output redirection and piping.
A typical UNIX command screen, usually called a
shell, is similar although the range of
commands and their syntax are not the same as DOS.
For the sake of software that expects commands or programming techniques of this sort, IBM
has added a utility called the
Qshell to OS/400.
UNIX users will find Qshell very familiar. Experience of the DOS command screen helps but
not as much as UNIX experience helps. Qshell is not identical to either UNIX or DOS, mainly
due to limitations of the 5250 data stream that does not permit a scrolling effect like the UNIX
or DOS screens.
You can start Qshell from an ordinary OS/400 command entry display or menu by using either
the Start Qshell (STRQSH) or QSH command. Then you see the QSH Command Entry
display (Figure 6-4), which a mostly blank display with a line beginning with a $ and a large
entry field at the bottom. In our example, the pwd command was already executed.
This display is similar to the normal Command Entry (QCMD) display, but it recognizes a
completely different set of commands. You cannot use normal OS/400 commands in QSH,
and you cannot use QSH commands in the Command Entry. There are few commands
common to both (for example, CD and JAVA), but even in these cases they are not quite
identical.
Figure 6-4 The QSH Command Entry display
If you do not see a $ but instead another character such as ¢ or £, then you may have a code
page error in your terminal or emulator setup. Ensure that your emulator configuration and the
device description that you are using match your terminal. The problem may also be caused
by using a user profile or system value CCSID of 65535. If you only plan to execute simple
commands, then you may be able to ignore the problem. For anything more complex, we
recommend that you correct the problem.
The $ is called a prompt. It is output at the beginning of the session and after the completion
of each command. It indicates that the shell is ready for a command. In general, the keyboard
is not locked during the execution of a command. You may be able to type another command,
but it cannot not execute until the current command has completed. This can be confusing
since if the current command generates any output, because it follows the waiting command.
Be sure to wait for the $ prompt after each command. UNIX shells often also use $ as the