红联Linux门户
Linux帮助

什么叫做shell?你们有关于shell的资料么,尽量详细一些!

发布时间:2008-01-15 21:30:04来源:红联作者:liaonan
谢谢
文章评论

共有 6 条评论

  1. fancyboy 于 2008-01-16 17:13:42发表:

    我也是刚刚用了下
    感觉很不错阿
    不过感觉界面不是很好看
    感觉显示的结果有些乱

  2. niutao0602 于 2008-01-16 15:13:56发表:

    引用:
    原帖由 kemen 于 2008-1-16 11:27 发表
    如果你用?DOS的?,就很相似,?然,只是使用上相似而已。

    是有点相似,但shell的强大是DOS永远比不上的。

  3. kemen 于 2008-01-16 11:27:22发表:

    如果你用?DOS的?,就很相似,?然,只是使用上相似而已。

  4. satisfy 于 2008-01-15 22:37:45发表:

    shell
    文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
      shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
      Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
    交互式shell和非交互式shell
    交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
    shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
    shell的类型
    在UNIX中主要有两大类shell
    Bourne shell (包括 sh, ksh, and bash)
    Bourne shell ( sh)
    Korn shell ( ksh)
    Bourne Again shell ( bash)
    POSIX shell ( sh)
    C shell (包括 csh and tcsh)
    C shell ( csh)
    TENEX/TOPS C shell ( tcsh)
    Bourne Shell
    最初的UNIX shell是由Stephen R. Bourne于20世纪70年代中期在新泽西的AT&T贝尔实验室编写的,这就是Bourne shell。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。
    C Shell
    Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
    Korn Shell
    有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX----一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准----在源程序一级跨越多种平台。
    Bourne Again Shell (bash)
    bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
    POSIX Shell
    POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.
    各主要操作系统下缺省的shell:
    AIX 下是Korn Shell.
    Solaris和FreeBSD缺省的是Bourne shell.
    HP-UX缺省的是POSIX shell.
    Linux是Bourne Again shell.
    Shell也是一个VB函数,它的作用是运行程序,语法是Shell(命令字符串[,窗口类型])

  5. hnuzcl 于 2008-01-15 22:03:36发表:

    简单的讲就是命令解释程序。

  6. hnuzcl 于 2008-01-15 22:00:25发表:

    接受并执行命令的程序称为 shell