Publishers of technology books, eBooks, and videos for creative people

Home > Articles

  • Print
  • + Share This
This chapter is from the book

Changing Your Shell Temporarily

You can change your shell temporarily by creating a subshell and using that instead of the original shell. You can create a subshell using any shell available on your Unix system. This means that you can look in the /etc/shells file and use a shell listed there, or you can use a shell installed elsewhere on the system (Code Listing 3.6).

Code Listing 3.6. Checking the list of shells from /etc/shells and looking for other programs that end with "sh" is a good way to find all of the shells on the system.

[ejr@hobbes]$ cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
[ejr@hobbes]$ ls /usr/local/bin/*sh
/usr/local/bin/pdksh
[ejr@hobbes]$

Code Listing 3.7. Type in the shell name (which is really just another Unix command) to change shells.

[ejr@hobbes]$ /usr/bin/csh
ejr>

To find out which temporary shells you can use:

  1. cat /etc/shells

    At the shell prompt, type cat /etc/shells to find out which shells are listed in the shells file.

    If you don't find a shell you want to use in the shells file, look for other shells installed elsewhere on the system.

  2. ls /usr/local/bin/*sh

    At the shell prompt, type ls /usr/local/ bin/*sh to find additional shells in the /usr/local/bin directory. Note that not all programs that end with sh are shells, but most shells end with sh (Code Listing 3.6).

To create a temporary shell (subshell):

  • /usr/bin/csh

    At the shell prompt, type the path and name of the temporary shell you want to use. In this case, we're using the csh shell, located at /usr/bin/csh. You might see a new prompt, perhaps something like the one shown in Code Listing 3.7.

To exit a temporary shell (subshell):

  • exit

    At the shell prompt, type exit. You'll be returned to the shell from which you started the subshell. If you created more than one subshell, you'll have to exit all of them.

  • + Share This
  • 🔖 Save To Your Account