Change default shell
Note: By default Alpine Linux uses the busybox variant of the ash shell, but many users may prefer bash, zsh, fish, or another shell.
By hand
Edit /etc/passwd manually. An example line for a user named user
is:
Contents of /etc/passwd
...
user:x:1000:1000:user,,,:/home/user:/bin/ash
...
Change /bin/ash to point to the path of a shell from /etc/shells. Take care to not delete/mangle the line, as it would make you unable to log in again. The user
should be the user you are changing the default login shell for.
Using shadow
Download the required package:
# apk add shadow
And use chsh:
# chsh username
Now enter the path for the shell you want to use (e.g /bin/bash) and press Enter to confirm this change. The shell should exist in /etc/shells.
Note: You may need to log out or reboot for this change to take effect, ash is part of busybox so you can revert back to ash (/bin/ash) at anytime with the same steps.