Bash Shell
A shell runs programs and provides a scripting language. The Code for IBM i extension connects to the IBM i using the Secure Shell (SSH) protocol.
There are a number of shells available, but the bash shell is more capable than the default shell program on IBM i.
You must change your default shell to bash. If you do not, parts of Code for IBM i will not work correctly.
Is the Bash Shell Installed?
The easiest way is to enter which bash in an SSH terminal session.
This should return /QOpenSys/pkgs/bin/bash. If it doesn’t then you need to talk to you system admin about getting IBM i Open Source Tools installed.
Setting Bash as the Default Shell
Some techniques come directly from the official IBM i OSS docs page
Technique #1: Code for IBM i
When you connect to a server, Code for IBM i checks that bash is your default shell. If bash is not the default shell, it will offer to set bash as the default.

This is the most convenient way to set bash as your default shell. You can ignore this prompt, but be aware that not all capabalities may work.
Technique #2: chsh
-
Use yum to install the
chshpackage (for instamce,yum install chsh) -
From a shell, use the
chshcommand to set your shell (for instance,/QOpenSys/pkgs/bin/chsh -s /QOpenSys/pkgs/bin/bash). You can set the shell for another user via the-uoption (for instance,/QOpenSys/pkgs/bin/chsh -s /QOpenSys/pkgs/bin/bash -u otherusr).
Technique #3: sql
You can set bash to be your default shell by running the following command from anywhere you have an SQL context, such as the Run SQL Scripts tool:
CALL QSYS2.SET_PASE_SHELL_INFO('*CURRENT', '/QOpenSys/pkgs/bin/bash')You can also set bash to be the default shell for all users, by running:
CALL QSYS2.SET_PASE_SHELL_INFO('*DEFAULT', '/QOpenSys/pkgs/bin/bash')Or, for a specific user:
CALL QSYS2.SET_PASE_SHELL_INFO('OTHRUSR', '/QOpenSys/pkgs/bin/bash')More information on this IBM i service can be found on developerWorks
Also, the default shell setting can be queried out with QSYS2.USER_INFO
Adding Bash to your PATH
You must have /QOpenSys/pkgs/bin/bash in your PATH. IBM provides documentation on how to do this using a .profile or .bashrc file in your home directory.
Note that if you use a .bashrc file it must not contain any echo or liblist statements.
Disconnect to Take Effect
After setting bash as your default shell, disconneect from the server so the change take effect.