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).
[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]$ |
[ejr@hobbes]$ /usr/bin/csh
ejr>
|
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). |
/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.
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.
✓ Tips
Using temporary shells is a great way to experiment with other shells and their options. We’d recommend using a temporary shell to experiment with the shells covered in this chapter.
You can also often use to exit from a subshell, but this depends on the system configuration. Try it out and see.
See Chapter 1, specifically the listings of directories containing programs, for other places to look for shells.