Unix shell

Command Line User Interface

A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.

The Bourne shell, sh, was a new Unix shell written by Stephen Bourne at Bell Labs. Distributed as the shell for UNIX Version 7 in 1979, it introduced the rest of the basic features considered common to all the Unix shells.

Bash (Bourn-Again Shel)

GNU Bash or simply Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. It's the default shell for most Linux distributions and Apple's macOS Mojave and earlier versions.

Zsh (Z shell)

Zsh is an extended Bourne shell with many improvements. It is backward compatible with bash. and the default shell in macOS since 10.15 Catalina.

Some of its advanced features include:

Installation

$ brew install zsh

To make Zsh the default shell in macOS:

$ chsh -s /bin/zsh

Oh My Zsh

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout...

Installation

# using curl
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Usage

See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes and https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins for a list of all available themes and plugins.