- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unix Shell 编程简介
第一节 简介
1.1 什么是SHELL
SHELL常被看作UNIX系统的命令解释器,对于熟悉Windows用户,UNIX SHELL类似于DOS Shell,COMMAND.COM.Unix Shell 不仅仅是一个命令解释器,还是一个强大的编程语言,有着完整的条件语句\循环和函数.
1.2 SHELL的类型
在UNIX中主要有两种主要类型的SHELL:
* Bourne Shell(包括sh、ksh、 bash)
* C Shell(包括csh和 tcsh)
Bourne 类型的Shell的,缺省的提示符是$,如果是C类型的SHELL, 缺省的提示符是%.
不同类型的Bourne Shell如下:
*Bourne Shell(sh)
*Korn Shell(ksh)
*Bourne Again Shell(bash)
*POSLX Shell
不同类型的C Shell如下:
*C Shell(csh)
*TENEX/TOPS C Shell(tcsh)
1.2.1 Bourne Shell
70年代中期由 Stephen R.Bourne在ATT贝尔实验室编写使用. Bourne Shell在多数UNIX版本中通常被安装在/bin/sh下.
三个主要缺点
1、没有文件名完整功能
2、没有命令历史或命令编辑
3、很难执行多个后台进程或任务
1.2.2 C Shell
C Shell 在80年代由Bill Toy在加州大学伯克利分校开发.C Shell在多数UNIX版本中通常被安装在/bin/csh下.
缺点:
输入输出控制比较弱
缺少函数
语法不清晰,比较混乱
优点
命令历史(Command History).用户可以重复执行以前执行过的命令,在重新执行前还可以编辑命令.
别名(alias)可以为一条命令创建一个短的别名.
文件名完整(file Name Completion) 只输入文件的几个字符让C Shell 自动完整文件名.
任务控制(Job Controls),可以用job命令执行多个进程并控制.
1.2.3 TENEX/TOPS C Shell(tcsh)
是CShell的一个新版本,可以用向上向下的方向键浏览历史命令,用左右方向键来编辑命令.
1.2.4Korn Shell(ksh)
Ksh 与sh 完全兼容,增加一些额外特征
命令历史和历史替换
命令别名和函数
文件名完整
数组变量
内置整数运算
1.2.5 Bourne Again Shell(bash)
Bourne Again Shell(bash)是作为GUN的一部分开发的,也已经在linux这样的系统中取代了sh,包含了C Shell Korn Shell特征,保留了与sh语法兼容,几乎可以运行所有的Bourne Shell脚本.
注:以下解释如果没有特别指出,都是基于Bourne Shell脚本
一个简单的shell Scrip文件
1 #! /bin/sh
2 echo “please input the number of loop:”
3 read num
4 while [ $num –lt 10 ]
5 do
6 echo $num
7 num=`echo :$num_1”|bc`
8 done
解释
#! /bin/sh
1. 如果Script的第一个非空白字不是#,则它会使用Bourne Shell。
2. 如果Script的第一个非空白字是#时,但不以#!开头时,则它会使用C Shell。
3. 如果Script以#!开头,则#!後面所写的就是所使用的Shell,而且要将整个路径名称指出来。
建议使用第三种方式指定Shell ,以确保所执行的就是所要的。Bourne Shell的路径名称为/bin/sh ,而C Shell 则为/bin/csh。使用Bourne Shellecho enter filename or #!/bin/sh
2. 使用C Shell
# C Shell Script or #!/bin/csh
3使用perl#! /usr/bin/perl
除了在Script内指定所使用的Shell 外,你也可以在命令列中强制指定。比如你要用C Shell 执行某个Script,你可以下这个命令:
csh filename
此时的Script的存取权就不一定要为可执行档,其内部所指定的Shell 也会无效
–lt 10 ]
do
echo $num
num=`echo :$num_1”|b
您可能关注的文档
最近下载
- 猪主要传染性腹泻病的流行情况与防控对策.docx
- 机电工程投标方案.docx VIP
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
- 临床医学教学模式创新与课堂互动设计.pptx
- 生猪屠宰兽医卫生检验人员理论考试题库资料及答案.pdf VIP
- 天津市静海区2024-2025学年高一下学期6月学生学业能力调研试题 地理试卷含答案.docx VIP
文档评论(0)