免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3777 | 回复: 3
打印 上一主题 下一主题

AIX技术专栏1:什么是shell [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2001-11-01 09:21 |只看该作者 |倒序浏览
那就多谢你辛苦啦,小弟我是没有什么可以给大家share的。\r\n鼓励鼓励!

论坛徽章:
0
2 [报告]
发表于 2001-11-01 09:18 |只看该作者

AIX技术专栏1:什么是shell

写在前面:我一直有一个想法,要把我工作几年来的经验总结一下,但总是没有动力来完成它。现在,我给自己施加了一些压力,希望我能坚持下去,完成我的专栏。如果我的文章对大家能够有所帮助,我会感到非常的高兴。\r\n下面的专栏,是我参照几本英文资料,并融入我个人的经验写成的。因为我本人水平有限,如有不确切的地方请大家批评指正。因为我有自己的工作,只能在工作间歇来完成写作,不一定每天都能推出新东西,请大家谅解。也欢迎其他高手也推出自己的专栏,把我们的论坛办成国内一流的技术论坛。\r\n如要转载,请与我联系。\r\n[/COLOR] \r\n\r\n什么是shell?\r\n    操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。\r\n    shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。\r\n\r\n交互式shell和非交互式shell\r\n交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。\r\nshell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。\r\n\r\nshell的类型\r\n在UNIX中主要有两大类shell\r\n        Bourne shell (包括 sh, ksh, and bash)\r\n                Bourne shell ( sh)\r\n                Korn shell ( ksh)\r\n                Bourne Again shell ( bash)\r\n                POSIX shell ( sh)\r\n        C shell (包括 csh and tcsh)\r\n                C shell ( csh)\r\n                TENEX/TOPS C shell ( tcsh)\r\n\r\nBourne Shell\r\n最初的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会等待读取你的输入。\r\n\r\nC Shell \r\nBill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。\r\n\r\nKorn Shell \r\n有很长一段时间,只有两类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不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。\r\n\r\nBourne Again Shell (bash)\r\nbash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。\r\n\r\nPOSIX Shell\r\nPOSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh. \r\n\r\n各主要操作系统下缺省的shell:\r\nAIX 下是Korn Shell.\r\nSolaris和FreeBSD缺省的是Bourne shell. \r\nHP-UX缺省的是POSIX shell. \r\nLinux是Bourne Again shell.\r\n\r\n【TIP】\r\n#!/usr/bin/sh的用途\r\nshell script的第一行一般都是#!/usr/bin/sh或#!/usr/bin/ksh等,它的用途就是指出本脚本是用的哪种shell写的,执行时系统应该用哪种shell来解释执行它。[/COLOR] \r\n

论坛徽章:
0
3 [报告]
发表于 2006-05-16 14:07 |只看该作者
好东西咯,谢谢楼主的分享.

论坛徽章:
0
4 [报告]
发表于 2006-07-29 12:22 |只看该作者
支持楼主继续写下去!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP