unixshell编程简介

unixshell编程简介

ID:34726698

大小:174.68 KB

页数:21页

时间:2019-03-10

unixshell编程简介_第1页
unixshell编程简介_第2页
unixshell编程简介_第3页
unixshell编程简介_第4页
unixshell编程简介_第5页
资源描述:

《unixshell编程简介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、UnixShell编程简介第一节简介1.1什么是SHELLSHELL常被看作UNIX系统的命令解释器,对于熟悉Windows用户,UNIXSHELL类似于DOSShell,COMMAND.COM.UnixShell不仅仅是一个命令解释器,还是一个强大的编程语言,有着完整的条件语句循环和函数.1.2SHELL的类型在UNIX中主要有两种主要类型的SHELL:*BourneShell(包括sh、ksh、bash)*CShell(包括csh和tcsh)Bourne类型的Shell的,缺省的提示符是$,如果是C类型的SHE

2、LL,缺省的提示符是%.不同类型的BourneShell如下:*BourneShell(sh)*KornShell(ksh)*BourneAgainShell(bash)*POSLXShell不同类型的CShell如下:*CShell(csh)*TENEX/TOPSCShell(tcsh)1.2.1BourneShell70年代中期由StephenR.Bourne在AT&T贝尔实验室编写使用.BourneShell在多数UNIX版本中通常被安装在/bin/sh下.三个主要缺点1、没有文件名完整功能2、没有命令历史或命

3、令编辑3、很难执行多个后台进程或任务1.2.2CShellCShell在80年代由BillToy在加州大学伯克利分校开发.CShell在多数UNIX版本中通常被安装在/bin/csh下.缺点:输入输出控制比较弱缺少函数语法不清晰,比较混乱优点命令历史(CommandHistory).用户可以重复执行以前执行过的命令,在重新执行前还可以编辑命令.别名(alias)可以为一条命令创建一个短的别名.文件名完整(fileNameCompletion)只输入文件的几个字符让CShell自动完整文件名.任务控制(JobContr

4、ols),可以用job命令执行多个进程并控制.1.2.3TENEX/TOPSCShell(tcsh)是CShell的一个新版本,可以用向上向下的方向键浏览历史命令,用左右方向键来编辑命令.1.2.4KornShell(ksh)Ksh与sh完全兼容,增加一些额外特征命令历史和历史替换命令别名和函数文件名完整数组变量内置整数运算1.2.5BourneAgainShell(bash)BourneAgainShell(bash)是作为GUN的一部分开发的,也已经在linux这样的系统中取代了sh,包含了CShellKornS

5、hell特征,保留了与sh语法兼容,几乎可以运行所有的BourneShell脚本.注:以下解释如果没有特别指出,都是基于BourneShell脚本一个简单的shellScrip文件1#!/bin/sh2echo“pleaseinputthenumberofloop:”3readnum4while[$num–lt10]5do6echo$num7num=`echo:$num_1”

6、bc`8done解释#!/bin/sh1.如果Script的第一个非空白字符不是"#",则它会使用BourneShell。2.如果Script

7、的第一个非空白字符是"#"时,但不以"#!"开头时,则它会使用CShell。3.如果Script以"#!"开头,则"#!"後面所写的就是所使用的Shell,而且要将整个路径名称指出来。建议使用第三种方式指定Shell,以确保所执行的就是所要的。BourneShell的路径名称为/bin/sh,而CShell则为/bin/csh。#!/bin/sh必须位于脚本的第一行。以使用shell来运行脚本,如果在其他行中出现,所以shell都会把当作注释而忽略掉,在shell脚本中,注释以#开头,在#到行尾的所有的都被认为是注释

8、。例如1.使用BourneShellscript文件开头为echoenterfilenameor#!/bin/sh2.使用CShellscript文件开头为#CShellScriptor#!/bin/csh3使用perlscript文件开头为#!/usr/bin/perl除了在Script内指定所使用的Shell外,你也可以在命令列中强制指定。比如你要用CShell执行某个Script,你可以下这个命令:cshfilename此时的Script的存取权就不一定要为可执行档,其内部所指定的Shell也会无效readnu

9、mnum变量,后面有关于变量的解释while[$num–lt10]doecho$numnum=`echo:$num_1”

10、bc`done循环语句。后面有关的解释Script是以行为单位,我们所写的Script会被分解成一行一行来执行。而每一行可以是命令、注解、或是流程控制指令等。如果某一行尚未完成,可以在行末加上"",这个时候下一行的内容就会

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。