- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux下shell 程序设计
shell编程
教学要点
深入理解shell概念。
掌握linux下shell程序设计流程。
理解shell程序与C程序设计的区别。
掌握shell程序设计中用户变量和表达式的使用方法。
一.Shell编程概述
问题1:请各位同学在home目录下创建5个目录,目录名称分别为student0,student1,student2,student3,student4.且修改它们的权限为所有用户都具有完全的操作权限。
问题2:请各位同学在home目录下创建100目录,目录名称为class1—class100.
解决办法:通过一个shell脚本程序来实现,程序如下,用vi编辑器建立一个firstshell文件,内容如下:
#!/bin/bash //指明该程序被那个shell来执行!
cd /home/shelldir //进入home/shelldir目录
mkdir newdir //在shelldir目录下新建newdir目录
i=0 //给变量i赋初值
while [ $i –lt 50 ]; do //循环,判断i是否小于50,成立继续循环
let i=i+1 //让i变量值增加1
mkdir /home/shelldir/newdir/student$i //在newdir目录下创建student1到student50
chmod 754 /home/shelldir/newdir/student$i
done
保存文件,退出vi,通过执行#chmod a+x firstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bash firstshell来执行程序,查看程序运行结果。
程序说明:
1.程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/bash
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在 这个例子中我们使用/bin/bash来执行程序。
2.当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行,必须为脚本添加可执行权限。
#chmod a+x filename
3.输入:# ./filename 来执行脚本程序。
如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。Linux中有好多中不同的shell,通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。这些脚本同样可以在其他bash中使用。
注:1.可以通过#echo $SHELL查看当前系统所运行的shell类型;
2.可以通过#cat /etc/shells查看系统上所有的shell。
3.可以直接通过输入shell名来运行新的shell。比如#ash,启动ash。
二.为什么要进行shell编程
在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
三.shell程序组成
Shell程序有注释,shell命令,变量,表达式,流程控制等组成。
1.shell程序注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。初学者要养成在程序中使用注释的习惯。如果使用了注释,那么即使相当长的时间内没有使用该脚本,也能在很短的时间内明白该脚本的作用及工作原理。这种习惯对一个优秀的技术人员来说非常重要
2.命令
a.linux下常用的各类命令,比如ls,cd,mkdir,pwd,rm,rmdir等等。
b.shell中的算术运算。如 let i=i+1
3.变量
在其他编程语言中可以使用变量。在shell编程中,也有各种变量,特别是在C语言中,变量使用之前一定要先定义,然后再使用;shell程序中也可以使用各种变量,shell编程中所有的变量都由字符串组成,并且shell程序中的变量不需要提前进行声明定义,可以直接使用。如程序中所示:
i=0 //变量名=值
取出变量值可以加一个美元符号($)在变量前面:$i
Shell脚本中除了用户自己定义的变量仅在程序内有效,还有系统定义的变量,比如环境变量。由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,环境变量至关重要,在后面章节中会详细介绍。
4..shell脚本程序中的表达式
表达式是shell脚本中必不可少
文档评论(0)