How to change the default shell in iTerm?
I'm having some difficulties in changing the value of $SHELL
in OSX's iTerm app. iTerm is starting in /bin/zsh
, but the value of $SHELL
doesn't seem to change.
What I've done:
- Changed "command" as
/bin/zsh
in iTerm's configuration window. - Executed
chsh
to change the shell to/bin/zsh
. - Confirmed iTerm is started in
/bin/zsh
NOTE #1: In OSX's stock terminal app, "Terminal.app":
echo $SHELL
/bin/zsh
NOTE #2: In OSX's popular terminal app, "iTerm.app":
$ echo $SHELL
/bin/bash
$ echo $USER
$ melvkim
$ chsh -s /bin/zsh
Changing shell for melvkim.
Password for melvkim:
chsh: no changes made
Solution 1:
The problem was the "iTerm" app's conflicting settings with the shell. To resolve, I've reset "login shell" command in iTerm preference window:
iTerm.app -> Preferences -> Profiles -> General -> Command -> Click on "Login shell"
Then, I executed chsh
to modify it as /bin/zsh
.
To reproduce the problem (having $SHELL set as /bin/bash/
, even though the login shell is /bin/zsh
), I just had to change "iTerm" setting back to "Command: /bin/zsh/".
Solution 2:
I had a similar issue but I resolved it by executing the command chsh -s /bin/zsh
in the terminal,then navigated to
Terminal -> Preferences -> General window
and changed the Shells open with: option to Default login shell while the command (complete path) set to /bin/zsh.This should solve your problem.