How does Emacs know which shell to start? First, it looks at the variable shell-file-name . Then it looks for a Unix environment variable named ESHELL . Finally it looks for an environment variable named SHELL . If you want to run another particular shell (for example, the zed shell) when you're in Emacs, you can add the following command to your .emacs file:
(setq shell-file-name "/bin/zsh")