Linux操作系统 Linux第6章课件

上传人:我*** 文档编号:142101950 上传时间:2020-08-16 格式:PPT 页数:36 大小:147.50KB
返回 下载 相关 举报
Linux操作系统 Linux第6章课件_第1页
第1页 / 共36页
Linux操作系统 Linux第6章课件_第2页
第2页 / 共36页
Linux操作系统 Linux第6章课件_第3页
第3页 / 共36页
Linux操作系统 Linux第6章课件_第4页
第4页 / 共36页
Linux操作系统 Linux第6章课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《Linux操作系统 Linux第6章课件》由会员分享,可在线阅读,更多相关《Linux操作系统 Linux第6章课件(36页珍藏版)》请在金锄头文库上搜索。

1、第6章 Shell脚本的编辑,6.1 Shell脚本的编辑实训 6.2 Linux系统的Shell 6.3 Shell脚本 6.4 小结 6.5 实训,2,6.1 Shell脚本的编辑实训,实训任务:编写一个批量建立学生用户账号的脚本文件。 实训目的:掌握脚本文件的编辑与执行方法。 基本要求:假设学生用户数在1000人以上,为每个学生建立一个系统账号,把年级、班级、学生ID号三部分代码组合成用户名;在“/home”目录为所有学生建立名为student的公共目录,在学生公共目录下为每个班级建立以该班代码命名的目录;创建该用户目录,设置该用户目录的权限为755;为该用户设置配额,限制最大容量为20

2、MB,没有文件数限制。 实训环境:一台已经正确安装Linux操作系统的计算机。,3,6.2 Linux系统的Shell,6.2.1 Shell基本概念,1命令提示符,4,用户要查看登录系统时所默认的Shell,可以使用echo命令来查看。 rootfree root#,1命令提示符 2查看默认的shell类型,echo $SHELL,/bin/bash 当前使用的Shell为bash,另外,执行finger命令查询用户数据,也能看出该用户默认的Shell。,5,1命令提示符 2查看默认的shell类型 3更换Shell 不同的Shell有不一样的特性,用户有时希望按自己的习惯使用其他Shell

3、,最简单的办法就是直接输入该Shell的名称执行。若要回到登录系统时的Shell,则执行用exit命令。 yanlingfree yanling$,ash,$ 进入Small Bourne Shell,tcsh,yanlingfree $ 进入Enhanced C Shell,6,6.2.2 Shell的功能,1补全命令行 用户在bash命令提示符下输入命令或程序名时,不必输全命令或程序名,按Tab键,bash将自动补全命令或程序名。例如,使用clear命令时,用户可以只输入: rootyanling root# cle 按Tab键,系统自动补全命令。 rootyanling root# cl

4、ear,2命令历程,2命令历程 :显示上一个命令。 :显示下一个命令。 :光标向左移动。 :光标向右移动。 Backspace :向左闪出一个字符。,7,3通配符(Shell元字符) 在bash下可以使用通配符*、?和。*可以替代任意位置的多个字符;?可以替代相应位置的一个字符;则表示字符范围或列表。例如: rootyanling root# ls test? test1 test2 列出以test开头第5位未知的所有文件 rootyanling root# ls a-c* anaconda-ks.cfg 列出以a-c范围内字符开头的所有文件 rootyanling root# ls a,m,

5、t* anaconda-ks.cfg meeting1.txt meeting2.txt test1 test1-3 test2 列出以e,m或t开头的所有文件,8,4使用输入/输出重定向和管道 输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输入/输出重定向可以将输入/输出重定向为文件等,输出重定向更为常用,它经常用于将命令的结果输出到文件中,而不是屏幕上。输入重定向的命令是“”。例如: rootyanling root# mail yanlingdir1 将当前目录的长格式列表输出到dir1文件中 rootyanling root# cat meeting2.txtmeetin

6、g1.txt 将执行结果附加到已经存在的meeting1.txt文件中,9,5作业控制 按下Ctrl+Z组合键挂起正在执行的进程,用bg命令使进程恢复在后台执行;用jobs命令可以显示当前正在后台运行的作业名单;fg命令则可以使进程恢复在前台执行。例如: rootyanling root# find / -name SCSI -print ; 则执行这些命令 str2) 若string包含于str2 commands; 则执行这些命令 *) 若string不包含于上述字符串 commands; 则执行这些命令 esac,例8:创建一个简单的安装程序。 rootyanling root# cat

7、install # !/bin/sh case $1 in 取得命令行参数 -i) 若参数为-i,则开始安装 echo Beginning of installation process cp bin/* /usr/bin -r -f cp doc/* /usr/share/doc -r -f echo Congratulations! Installation finished. ; -h) 若参数为-h,则显示命令用法 echo *Bennys install lation utility* echo Use $0 -I to install. echo Use $0 -h to show

8、 this help message. ; *) echo $0:You must specify one of the options. echo Try $0 -h for more information. ; esac,32,7无条件控制语句 break语句用于立即终止当前循环的执行,而contiune语句用于不执行循环中后面的语句而立即开始下一个循环的执行。这两个语句只有放在do和done之间才有效。 Break和contiune语句都可加上数字参数,以指示要跳出的循环数目。要跳过几层循环,就加上数字;若指定的数字大于最大的循环层数,就跳至最外一层循环执行;若只跳一层,可不加1。,例

9、9:创建一个模拟工业操作流程的脚本文件。 rootyanling root# catjobcontrol # !/bin/sh for x in a b c d e f g h i do for y in 1 2 3 4 5 6 7 8 9 do echo current job is $x$y echo input n to do next job echo s to skip the other jobs in current level echo x to terminate all jobs read action if $action = n then echo do next jo

10、b“ continue elif $action = s ,then echo skip the other jobs in current level continue 2 elif $action = s then echo terminate all jobs break 2 fi done done,33,8函数定义 函数实际上也是由若干条Shell命令组成的,因此它与Shell程序形式上是相似的,不同的是,它不是一个单独的进程,而是Shell程序的一部分。函数定义的基本格式如下: functionname commands return exit_value 函数中可以使用retur

11、n命令指定返回值;若没有return命令,则使用最后一个命令或函数值作为返回值。调用函数的格式如下: functionname param1 param2,例10:创建一个脚本文件,将命令行中输入的数字传入函数,并显示最大的数值。 rootyanling root# catmaxvalue # !/bin/sh max() while $1 do if $maxvalue then if $1 -gt $maxvalue then maxvalue = $1 fi else maxvalue = $1 fi shift done,return $maxvalue max $ echo Max

12、value is: $? #echo Max value is: $maxvalue,34,9命令分组 在Shell中有两种命令分组的方法:“()”和“”。前者当Shell执行“()”中的命令时,将再创建一个新的子进程,然后这个子进程去执行圆括弧中的命令。 “”用于将顺序执行的命令的输出结果用于另一个命令的输入(管道方式)。当我们要真正使用圆括弧和花括弧时(如计算运算式的优先顺序),则需要在其前面加上转义符(“”),以便让Shell知道它们不是用于命令执行的控制作用。,10信号 trap命令用于在Shell程序中捕捉信号,捕捉到信号后可以有3种反应方式。 (1)执行一段程序来处理这一信号。 (2)接受信号的默认操作。 (3)忽视这一信号。,35,6.3.5 输出环境变量,export命令能将脚本文件内的变量输出给其他的命令使用,其方法如下: var1 = 735 var2 = /usr/bin export var1 var2 Shell脚本文件名 echo $var1$var2,36,6.4 小结,(1)了解Linux系统Shell的基本概念与各种功能。 (2)掌握Shell脚本的创建与执行,能够使用Shell提供的程序流程控制语句编程。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号