Shell是Linux和Unix的外壳,类似衣服,负责外界与Linux和Unix内核的交互联系。例如接收终端用户及各种应用程序的命令,把接收的命令翻译成内核能理解的语言,传递给内核,并把内核处理接收的命令的结果返回给外界,即Shell是外界和内核沟通的桥梁或大门。
Linux和Unix提供了多种Shell,其中有种bash,当然还有其他好多种。
Mac电脑中不但有bash,还有一个zsh,预装的,据说更强大。
https://github.com/ohmyzsh/ohmyzsh
这个地址是学习zsh快速上手的项目ohmyzsh
大部分Linux和Unix系统默认的Shell是bash
可以通过以下命令查看自己的电脑系统中有几种Shell
cat /etc/shells
得到结果(Mac系统示例)
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
为啥有那么多种Shell,因为不同的程序员根据自身的需求及个性,重写出了多种外壳。