Bash is the default shell.
To install bash, run the command:
sudo pacman -S bash
To list all installed shells, run:
chsh -l
And to set one as default for your user do:
chsh -s <full-path-to-shell>
If you are using systemd-homed, run:
homectl update --shell=<full-path-to-shell> user
where <full-path-to-shell> is the full path as given by chsh -l
.
If you now log out and log in again, you will be greeted by the other shell.
Zsh is a shell similar to ksh with useful features of Bash, ksh, and TCSH and many original features.
To install zsh, run the command:
sudo pacman -S zsh
In the context of the cd command this isn’t particularly useful, as you can only go into directories. Zsh knows this and only shows you the possible valid destinations.
You may be familiar with using +R for performing a recursive search to find a previous command you typed in. This is a great way to reuse commands in Bash and Zsh.
Zsh goes one better. You can type part of a command and press
It finds the last command we typed starting with ‘ls’. We could continue pressing up to cycle if we wanted.
To list all installed shells, run:
chsh -l
And to set one as default for your user do:
chsh -s <full-path-to-shell>
If you are using systemd-homed, run:
homectl update --shell=<full-path-to-shell> user
where <full-path-to-shell> is the full path as given by chsh -l
.
If you now log out and log in again, you will be greeted by the other shell.
fish - the friendly interactive shell is a shell that focuses on usability. It is compatible with bash, and has its own syntax. It has various unique features too.
To install fish, run the command:
sudo pacman -S fish
Fish has multiple features that makes it stand out from bash out of the box such as:
Autosuggestion suggests commands as you type based on history and completion, like many web browsers.
You can set your colors, view functions, variables, and history all from a web page.
Fish has features like tab completions and syntax highlighting, with nothing new to learn or configure.
Oh My Fish provides core infrastructure to allow you to install packages which extend or modify the look of your shell. It's fast, extensible and easy to use.
To list all installed shells, run:
chsh -l
And to set one as default for your user do:
chsh -s <full-path-to-shell>
If you are using systemd-homed, run:
homectl update --shell=<full-path-to-shell> user
where <full-path-to-shell> is the full path as given by chsh -l
.
If you now log out and log in again, you will be greeted by the other shell.
Nushell is a shell that looks at each input as something with structure rather than thinking of files and services as raw streams of text.
To install Nushell, run the command
sudo pacman -S nushell
Nu pipelines use structured data so you can safely select, filter, and sort the same way every time. Stop parsing strings and start solving problems.
It's easy to extend Nu using a powerful plugin system.
Nu operates on typed data, so it catches bugs that other shells don't. And when things break, Nu tells you exactly where and why.
To list all installed shells, run:
chsh -l
And to set one as default for your user do:
chsh -s <full-path-to-shell>
If you are using systemd-homed, run:
homectl update --shell=<full-path-to-shell> user
where <full-path-to-shell> is the full path as given by chsh -l
.
If you now log out and log in again, you will be greeted by the other shell.