The Shell¶
A shell is the user interface used to control an operating system. Uberspace relies on a command-line interface (CLI) rather than a graphical user interface (GUI).
Changing the Shell¶
By default, all new Asteroids use the Bash shell. You can use the chsh command to switch to a different shell:
[isabell@moondust ~]$ chsh --shell /bin/zsh
Changing shell for isabell.
Shell changed.
Not every shell works well as login shell.
Not every shell reads profile files from /etc/profile.d/… correctly, or
at all (e.g. elvish, fish, and newshell).
This might be okay for you, but be aware, that you might miss some default
settings, i.e. some directories might not be on your $PATH, or tools
like cargo use different default directories, etc.
Switching to an Interactive Shell via Bash¶
If you do not want to miss out on our default /etc/profile.d/… customization,
you can start your favorite shell from Bash on login, by starting it with the
exec command from your ~/.bashrc, e.g.:
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
PS1='[\u@\h \W]\$ '
exec /bin/fish
List Available Shells¶
To find out which shells are available on your Asteroid, run chsh --list-shells.
Here are a few prominent shells you can choose from:
- Bash: a reliable default on most Linux systems.
- Elvish: aims at interactive features, a clear syntax and error checking.
- Fish: aims at interactive features, a clear syntax and usability features.
- Nushell: has native support for structured and typed data, changing the way we use pipes.
- Zsh: a versatile shell, you might know it from Mac OS.