Linux中shell 的类型有哪些。

 我来答
云秀呀m
2017-02-06
知道答主
回答量:17
采纳率:0%
帮助的人:3.1万
展开全部
不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
bash

大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。
csh
C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。
ksh
Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。许多安装脚本都使用 ksh ,ksh有42条内部命令,与bash相比有一定的限制性。
tcsh
tcsh是csh的增强版,与 C shell 完全兼容。
sh
是一个快捷方式,已经被/bin/bash所取代。
nologin
指用户不能登录
zsh
目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。
老男孩教育
2021-07-21 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
老男孩教育
专注于Linux高级运维、Python开发、大数据培训,为您分享行业前沿的技术,有效的学习方法和有价值的学习资料。
向TA提问
展开全部
shell脚本语言是弱类型语言,无需定义变量的类型就可使用,主要有两大类:bourne shell、C shell。
第一种:Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again
Shell(bash)三种类型。
Bourne shell (sh)由AT&T的Steve Bourne开发,是标准的UNIX Shell,很多UNIX系统都配有sh。
Korn shell (ksh)由David Korn开发,是Bourne
shell(sh)的超集合,并且添加了csh引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上的/bin/sh往往是指向/bin/ksh的符号链接。
Bourne Again
Shell即bash由GNU项目组开发,主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,bash从csh和ksh借鉴了很多功能,是各种Linux发行版默认配置的Shell,在Linux系统上的/bin/sh往往是指向/bin/bash的符号链接。虽然如此,bash和sh还是有很多的不同,一方面,bash扩展了一些命令和参数,另一方面,bash并不完全和sh兼容,它们有些行为并不一致,但大多数企业运维的情况下区别不大,特殊场景可以使用bash替代sh。
第二种:C shell
C shell又包括csh、tcsh两种类型。
csh由Berkeley大学开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne
Shell所不支持的功能,例如:作业控制、别名、系统算术、命令历史、命令行编辑等。
tcsh是csh的增强版,加入了命令补全等功能,在FreeBSD、Mac OS X等系统上替代了csh。
以上介绍的这些Shell中,较为通用的是标准的Bourne shell (sh)和C shell (csh)。其中Bourne shell
(sh)已经被Bourne Again shell (bash) 取代。
可通过以下命令查看CentOS7系统的Shell支持情况。
[root@oldboy ~]# cat /etc/shells
/bin/sh #<==这是Linux里常用的Shell,指向/bin/bash。
/bin/bash #<==这是Linux里常用的Shell,也是默认使用的Shell。
/usr/bin/sh
/usr/bin/bash
Linux系统中的主流Shell是bash,bash是由Bourne
Shell(sh)发展而来的,但bash还包含了csh和ksh的特色,但大多数脚本都可以不加修改地在sh上运行,如果你使用sh后发现结果和预期有差异,那么可以尝试使用bash替代sh。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2023-06-13 · 超过13用户采纳过TA的回答
知道答主
回答量:280
采纳率:85%
帮助的人:5.4万
展开全部
shell是一种接口,它连接了用户和内核,使用户能够与系统进行交互操作。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”
Linux系统提供多种不同的Shell以供选择。在Linux系统中,默认的Shell是Bourne Again Shell(bash)。
linux常用的三种shell:
Linux中的shell有多种类型,其中最常用的三种是bourne shell(sh)、c shell(csh)、korn shell(ksh)。
1、Bourne shell
Bourne shell 是一个交换式的命令解释器和命令编程语言。
Bourne shell曾作为管理系统的常用工具,是UNIX操作系统的标准shell。大部份的系统管理命令文件,例如 rc start、stop
与shutdown 都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root
签入时它常被系统管理者使用。Bourne shell因其简洁高效而闻名,它是由AT&T开发的。 Bourne shell 提示符号的默认值是
$。
2、c shell
c shell是一种比 Bourne Shell更适合的变种
Shell,使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。
C shell
是柏克莱大学(Berkeley)所开发的,且加入了一些新特性,如命令列历程(history)、别名(alias)、内建算术、档名完成(filename
completion)、和工作控制(job control)。对于常在交谈模式下执行 shell 的使用者而言,他们较喜爱使用 C
shell;但对于系统管理者而言,则较偏好以 Bourne shell 来做命令档,因为 Bourne shell 命令档比 C shell
命令档来的简单及快速。C shell 提示符号的默认值是 %。
3、korn shell
korn shell是一个 Unix shell 。在20世纪80年代早期,David Korn在贝尔实验室编写了它。它完全向上兼容 Bourne
shell 并包含了 C shell 的很多特性,例如贝尔实验室用户需要的命令编辑。
Korn shell 是Bourne shell 的超集,由 AT&T 的 David Korn 所开发。它增加了一些特色,比
C shell 更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符、内建算术、工作控制、共作处理、和特殊的除错功能。Bourne shell 几乎和
Korn shell 完全向上兼容,所以在 Bourne shell 下开发的程序仍能在 Korn shell
上执行。Korn shell 提示符号的默认值也是 $。在 Linux 系统使用的 Korn shell 叫做 pdksh,它是指 Public Domain
Korn Shell。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
buchengfeng
2017-04-01
知道答主
回答量:16
采纳率:0%
帮助的人:5.2万
展开全部

查看当前使用的shell类型

#echo $SHELL

查看系统里有的shell种类

#cat /etc/shells

示例:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记忆的盛夏流年
2016-11-22 · 超过14用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:34.2万
展开全部
linux中的shell一般会有csh,sh,bash 也可以安装zsh,tcsh 查看文件/etc/shells文件,记录了本机现在有的shell,如果安装了其它shell就把它也添加进来
《Linux就该这么学》这本书,希望你能感受到linux系,统和这本书带给你的好处及帮助。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式