常见的Shell(sh、bash、csh、tcsh、ash、zsh)介绍

Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。在 Linux 发展的早期,唯一能用的工具就是 Shell,Linux 用户都是在 Shell 中输入文本命令,并查看文本输出;如果有必要的话,Shell 也能显示一些基本的图形。常见的 Shell 有 sh、bash、csh、tcsh、ash 等。

sh
sh 的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。

sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。

sh 是第一个流行的 Shell。

csh
sh 之后另一个广为流传的 shell 是由柏克莱大学的 Bill Joy 设计的,这个 shell 的语法有点类似C语言,所以才得名为 C shell ,简称为 csh。

Bill Joy 是一个风云人物,他创立了 BSD 操作系统,开发了 vi 编辑器,还是 Sun 公司的创始人之一。

BSD 是 UNIX 的一个重要分支,后人在此基础上发展出了很多现代的操作系统,最著名的有 FreeBSD、OpenBSD 和 NetBSD,就连 Mac OS X 在很大程度上也基于BSD。

tcsh
tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。

ash
一个简单的轻量级的 Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。

bash
bash shell 是 Linux 的默认 shell。

bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell。

bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。

尽管如此,bash 和 sh 还是有一些不同之处:一方面,bash 扩展了一些命令和参数;另一方面,bash 并不完全和 sh 兼容,它们有些行为并不一致。

zsh
Linux系统使用zsh,一遍需要单独安装,Mac系统默认就有zsh。据说zsh配置狂复杂,所以很多人都不会使用。知道有一天出了Oh My Zsh项目(https://github.com/robbyrussell/oh-my-zsh),才让更多人发现并开始使用zsh。有人说zsh是终极shell。zsh很漂亮,很炫酷,以前是极客使用,现在小白通过oh-my-zsh可以装逼。

查看Linux系统有哪些shell可用

xinlin@iZ239r252v4Z:/$ more /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
xinlin@iZ239r252v4Z:/$

查看Linux系统默认的SHELL

xinlin@iZ239r252v4Z:/$ printenv | grep SHELL
SHELL=/bin/bash
xinlin@iZ239r252v4Z:/$ echo $SHELL
/bin/bash
xinlin@iZ239r252v4Z:/$

以上就是对Linux系统各种shell的介绍,主要是bash,而Mac系统默认是zsh。幸运的时候,zsh兼容bash。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:番茄网 » 常见的Shell(sh、bash、csh、tcsh、ash、zsh)介绍

分享到: 生成海报

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

像番茄一样 表里如一

表里如一表里如一
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活