Change default shell: Difference between revisions
(use cat, path and key template) |
Prabuanand (talk | contribs) m (rephrased sentence. moved the note to front.) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Alpine Linux uses the [[BusyBox]] variant of the [[BusyBox#Ash_shell|ash]] shell. This page explains various ways to change the default shell in Alpine Linux to other popular shells like {{Pkg|bash}}, {{Pkg|zsh}}, {{Pkg|fish}} etc.. You can revert back to '''ash shell''' at anytime with the same steps. | |||
{{Note|You need to log out and login again for these changes to take effect.}} | |||
== By hand == | == By hand == | ||
Edit {{Path|/etc/passwd}} manually. An example line for a user named <code>user</code> is: | Edit {{Path|/etc/passwd}} manually. An example line for a user named <code>user</code> is: | ||
{{Cat|/etc/passwd|... | {{Cat|/etc/passwd|... | ||
user:x:1000:1000:user | user:x:1000:1000:user:/home/user:/bin/ash | ||
... | ... | ||
}} | }} | ||
Line 20: | Line 23: | ||
and press {{Key|Enter}} to confirm this change. The shell should exist in {{Path|/etc/shells}}. | and press {{Key|Enter}} to confirm this change. The shell should exist in {{Path|/etc/shells}}. | ||
[[Category:Shell]] | |||
[[Category:System Administration]] |
Latest revision as of 09:52, 22 October 2024
Alpine Linux uses the BusyBox variant of the ash shell. This page explains various ways to change the default shell in Alpine Linux to other popular shells like bash, zsh, fish etc.. You can revert back to ash shell at anytime with the same steps.
By hand
Edit /etc/passwd manually. An example line for a user named user
is:
Contents of /etc/passwd
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.