Shell程序设计上海交通大学.pptVIP

Shell程序设计上海交通大学.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell程序设计上海交通大学

第15章 Shell程序设计 是在UNIX系统中提高工作效率的关键。 Shell能自动地替用户在任何需要的时间处理很多无需人工干预的各种任务,使用户从索然无味的繁重的工作中解放出来。 使用Shell程序设计,能快速地开发出大型复杂软件系统的原型。 掌握Shell是从UNIX系统的新手到资深用户或系统管理员的必经之路。 是很多其他命令处理语言的基础。 15.1 Shell程序和参数 15.1.1 Shell程序 在UNIX中,任何存放一个或多个命令的文件称为Shell程序或Shell过程。例如,一个文件名为uc的Shell程序包含如下的统计当前登录用户数的一行命令: who | wc -l 下面介绍三种主要的执行Shell程序的方法。 1.sh uc 即在当前Shell下再运行一个子Shell程序sh,该sh程序不是从标准输入(键盘)读入命令串,而是用了输入转向从文件uc中读入命令串,并解释执行who | wc -l命令。 2.sh uc 和大多数UNIX命令(如cat)一样,sh程序也可从参数中接受文件名uc,并从这个文件中读入命令串。 使用以上两种形式执行Shell程序时还可带有调试参数,如 sh -v shell_program Shell将显示它读入的每一个命令行。 sh -x shell_program Shell将显示它执行的每一个命令 和变量的取值。 sh -n shell_program 检查命令的语法。 3.利用管道: cat uc | sh 4. 建立可执行文件 对经常要执行的命令文件,可采用如下的步骤: (1) 先为命令文件建立执行许可: chmod a+x uc; (2) 以后任何时候要执行该命令文件,可直接打入 uc 实际上,在UNIX系统中有一些执行程序并不是C程序或汇编程序代码,而是可执行的Shell命令文件,用户在使用时并不感觉两者之间有何差别。 15.1.2 Shell程序的位置参数 一个Shell程序可以包含多个命令行,如下面一个完成编辑、运行和将源程序和运行结果连接在一起的可执行Shell程序runsh: cc cprogram.c -o cprogram cp cprogram.c progres cprogram progres 只要简单地键入 runsh 就可完成三个命令行的工作。但这个Shell程序并不灵活,它只能完成与固定的C程序cprogram有关的工作。假定我们要对另一个C程序执行相同的任务,那么只有修改Shell程序中有关的程序名和文件名,这就十分不方便。 使用位置参数 将原来的runsh程序改成如下的形式: cc $1.c -o $1 cp $1.c $2 $1 $2 如果以 $0 $1 $2 runsh cprogram progres 形式运行该Shell程序,就完成与上一个Shell程序同样的工作,以 runsh cprog2 progres2 形式运行,就可完成编辑、运行cprog2程序和获得运行结果。 Shell程序最多可直接引用9个位置参数: $1~$9。 15.2 Shell变量 Shell变量可分为三种类型 用户定义变量 系统定义变量 Shell定义变量 15.2.1 用户定义变量 用户定义的Shell变量能用赋值语句置初值或重置值。 ux=UNIX val=123 等号两边不能有空格。从本质上来说用户定义的Shell变量的值都是字符串。在C Shell中对Shell变量置值的方法示例如下,与B Shell相反,等号两边要留空: set ux = UNIX 当赋给变量的值包括了空格、制表符或换行符时,那么需要将值放在一对括号内,引号本身不是值的一部分。 OS=“Operating System” 可以通过变量名前加‘$’来引用变量值,如命令 echo $OS 目录名也能存放在Shell变量中: workdir=/usr/local/work ls $workdir/*.c 显示了/usr/local/work目录下的所有C源程序。 echo $uxOS 显示的是空串,因为系统认为uxOS整个是未

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档