shell
是一种用来与操作系统交互的程序,它可以接收用户输入的命令,并执行相应的操作。不同的shell
有不同的特点和功能,常见的shell
类型有以下几种:
我已在在用的是zsh
他的自动匹配用着很舒服
SH
sh
是最早的Unix shell
,也是其他shell
的基础。它是一个简单而强大的命令解释器,支持变量、控制结构、管道、重定向等基本功能。sh
是POSIX
标准的默认shell
,也是许多Linux发行版
的默认shell
。
bash
bash
是Bourne Again Shell
的缩写,它是sh
的增强版,兼容sh的语法,同时增加了许多新特性,如命令补全、命令历史、数组、函数、别名等。bash
是GNU项目的一部分,也是Linux
和macOS
的默认shell。
ksh
ksh
是Korn Shell
的缩写,它是sh
的另一个扩展版,结合了csh
和bash
的优点,提供了更强大的编程能力,如关联数组、算术运算、命令替换等。ksh
有多个版本,如ksh88
, ksh93
, pdksh
, mksh
等,其中ksh93
是最新和最完善的版本。
csh
csh
是C Shell
的缩写,它是一个以C语言风格为特色的shell,支持C语言中的变量、运算符、控制语句等。csh
还提供了一些方便的功能,如作业控制、历史替换、目录栈等。csh
是BSD Unix
的默认shell
。
zsh
zsh
是Z Shell
的缩写,它是一个集成了bash
, ksh
, csh
等多种shell
特性的高级shell,拥有强大的自定义和扩展能力,如模块化、主题、插件等。zsh
还支持高级功能,如拼写检查、近似匹配、通配符等。
如果想知道自己正在使用哪种类型的shell,可以使用以下命令
ps -p $$