实验七Linux下shell程序设计 (pro)
- 格式:docx
- 大小:97.10 KB
- 文档页数:3
第二次实验内容一、实验名称:Linux下shell编程二、实验类型:设计三、实验目的:1.熟悉Linux的shell几种变量使用2.熟练掌握Linux的shell编程几种结构3.熟练掌握Linux下shell脚本的编写四、实验准备参考教材,课件第7章内容及笔记。
要求实验内容全部写到实验报告上(B5纸)。
五、实验内容1. 练习使用shell四种变量,参考课件例题。
用户自定义变量,环境变量,位置变量,特殊变量这四种变量类型的使用,书中有例题。
2. 调试课件所有shell脚本的例题。
3. 编写如下脚本:●编写脚本if1,测试其功能。
echo -n "word 1: "read word1echo -n "word 2: "read word2if test "$word1" = "$word2"thenecho "Match"fiecho "End of program."●编写脚本chkargs,测试其功能if test $# -eq 0thenecho "You must supply at least one argument."exit 1fiecho "Program running."●编写脚本if2,测试其功能if test $# -eq 0thenecho "You must supply at least one argument."exit 1fiif test -f "$1"thenecho "$1 is a regular file in the working directory"elseecho "$1 is NOT a regular file in the working directory"fi●编写脚本if3,测试其功能echo -n "word 1: "read word1echo -n "word 2: "read word2echo -n "word 3: "read word3if [ "$word1" = "$word2" -a "$word2" = "$word3" ]thenecho "Match: words 1, 2, & 3"elif [ "$word1" = "$word2" ]thenecho "Match: words 1 & 2"elif [ "$word1" = "$word3" ]thenecho "Match: words 1 & 3"elif [ "$word2" = "$word3" ]thenecho "Match: words 2 & 3"elseecho "No match"fi●编写smartzip 脚本,测试其功能#!/bin/bashftype=`file "$1"`case "$ftype" in"$1: Zip archive"*)unzip "$1" ;;"$1: gzip compressed"*)gunzip "$1" ;;"$1: bzip2 compressed"*)bunzip2 "$1" ;;*) echo "File $1 can not be uncompressed with smartzip";;esac●编写脚本dirfiles,测试其功能。
Linux编程课程设计报告题目: Linux Shell编程专业网络工程学号姓名指导教师日期题目:Linux Shell编程一、设计目的和任务实验目的:1.熟悉Shell环境和Shell的执行2.熟悉Shell的基本语法和语句3.了解Shell程序的调试方法实验内容:1.编写Shell程序2.调试和执行Shell程序二、设计原理Linux是一种开放源码、能够免费使用及自由传播的类似于UNIX操作系统。
它可运行于各种平台之上。
因为它不但具有UNIX系统的良好性能(如稳定性、安全性),同由于其具有开源和免费的特点,也越来越广泛地应用于各种嵌入式系统中。
Shell是用户和Linux操作系统内核程序间的一个借口。
Shell既是命令解释器,有事一种编程语言。
作为命令解释器,Shell为用户使用Linux 操作系统提供丰富的工具界面。
若用户输入命令,Shell负责解释执行该命令并向用户返回结果。
作为编程语言,它利用自身的语言结构将工具命令组合起来提供更复杂的功能。
三、实验环境和总体设计1.PC一台2.安装虚拟机版的Linux操作系统四、详细设计步骤1.打开vmware软件,启动Linux系统2.用root用户名和密码登入系统中3.将某目录下面所有的文件名后面加上所有者的名字,如a.txt的所有者为owner,修改后为a[owner].txt文件。
基本要求:①使用方法为usage:程序名称目录名称若没有“目录名称”参数,则修改当前目录下文件名称②对目录中的子目录不做变化。
③ 给出实验结果。
五、结果测试与分析六、存在的问题Linux 系统的shell 作为操作系统的外壳,为用户提供使用操作系统的接口。
它是命令语言、命令解释程序及程序设计语言的统称。
Shell 是一个命令语言解释器,他拥有自己内建的命令集,shell也能被系统中其他程序所调用。
用户在提示符下输入的命令都是由shell先解释后传给linux核心的。
Linux shell程序设计请在vi中逐一编辑并执行以下10个shell脚本程序,然后结合所学知识和程序的输出分析各程序中各语句的含义:1.编写一个简单的回显用户名的shell程序。
#!/bin/bash#filename:dateecho "Mr.$USER,Today is:"echo 'date'echo Wish you a lucky day!2.使用if-then语句创建简单的shell程序。
#!/bin/bash#filename:bbbbecho -n "Do you want to continue: Y or N"read ANSWERif [ $ANSWER=N -o $ANSWER=n ]thenexitfi3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。
#!/bin/bash#filename:akecho -n "please input a score:"read SCOREecho "You input Score is $SCORE"if [ $SCORE -ge 60 ];thenecho -n "Congratulation!You Pass the examination."elseecho -n "Sorry!You Fail the examination!"fiecho -n "press any key to continue!"read $GOOUT4.使用case语句创建一个菜单选择的shell程序。
#!/bin/bash#filename:za#Display a menuecho _echo "1 Restore"echo "2 Backup"echo "3 Unload"echo#Read and excute the user's selectionecho -n "Enter Choice:"read CHOICEcase "$CHOICE" in1) echo "Restore";;2) echo "Backup";;3) echo "Unload";;*) echo "Sorry $CHOICE is not a valid choiceexit 1esac5.使用for语句创建简单的shell程序。
shell程序linux课程设计一、课程目标知识目标:1. 理解Shell的基本概念,掌握其在Linux系统中的作用和重要性。
2. 学会使用基本的Shell命令,如文件操作、目录切换、权限管理等。
3. 掌握Shell脚本编写的基础知识,包括变量定义、流程控制、函数等。
4. 能够运用所学知识解决实际问题,如编写简单的自动化脚本。
技能目标:1. 培养学生熟练使用Linux终端和Shell命令的能力。
2. 培养学生编写和调试简单Shell脚本的能力。
3. 培养学生运用Shell脚本实现自动化任务的能力。
情感态度价值观目标:1. 培养学生对Linux系统和Shell编程的兴趣,激发学习热情。
2. 培养学生面对问题时的独立思考、解决问题的能力。
3. 培养学生的团队协作意识,学会与他人分享和交流学习经验。
课程性质:本课程为Linux shell程序设计,旨在让学生掌握Shell编程的基本知识,提高其在Linux系统下的操作能力和解决问题的能力。
学生特点:学生具备一定的计算机基础知识,对Linux系统有一定了解,但Shell编程经验较少。
教学要求:结合学生特点,课程设计应注重实践,以实例为主线,引导学生动手实践,提高其编程能力和实际操作能力。
将目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容1. Shell概述- Shell的定义与作用- 常见的Shell类型及特点2. 基本Shell命令- 文件和目录操作命令:ls、cd、pwd、mkdir、rm、cp、mv - 权限管理命令:chmod、chown- 文本处理命令:cat、grep、sort、uniq、cut、awk3. Shell脚本编写基础- 变量定义与使用- 流程控制语句:if、for、while- 函数的定义与调用4. Shell脚本实例分析- 简单自动化脚本编写- 系统监控脚本编写- 文件处理脚本编写5. Shell脚本调试与优化- 常见错误类型及解决方法- 调试技巧与优化策略教学内容安排与进度:1. 第1周:Shell概述及基本概念2. 第2周:基本Shell命令学习3. 第3周:Shell脚本编写基础4. 第4周:Shell脚本实例分析5. 第5周:Shell脚本调试与优化教材章节关联:1. Shell概述:《Linux操作系统》第3章2. 基本Shell命令:《Linux操作系统》第4章3. Shell脚本编写基础:《Linux Shell编程》第2章4. Shell脚本实例分析:《Linux Shell编程》第3章5. Shell脚本调试与优化:《Linux Shell编程》第4章三、教学方法本课程将采用以下教学方法,以促进学生主动学习,提高教学效果:1. 讲授法:教师通过讲解Shell编程的基本概念、语法和技巧,为学生提供必要的理论知识。
linux下shell 程序设计shell编程教学要点1.深入理解shell概念。
2.掌握linux下shell程序设计流程。
3.理解shell程序与C程序设计的区别。
4.掌握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变量值增加1mkdir /home/shelldir/newdir/student$i //在newdir目录下创建student1到student50chmod 754 /home/shelldir/newdir/student$idone保存文件,退出vi,通过执行#chmod a+x firstshell修改文件权限,赋予文件可执行权限,通过#./firstshell或者#/bin/bash firstshell来执行程序,查看程序运行结果。
程序说明:1.程序必须以下面的行开始(必须方在文件的第一行):#!/bin/bash符号#!用来告诉系统它后面的参数是用来执行该文件的程序。
在这个例子中我们使用/bin/bash来执行程序。
《Linux操作系统》实验指导书
实验七
实验题目:shell编程
实验目的:熟悉并掌握shell程序设计基本语法;熟悉并掌握shell程序设计中的各种控制结构(if、case、for、while和until语句等);掌握基本shell程序设计和实现的技能。
实验类型:综合
实验要求:必修
仪器设备:计算机
实验内容、方法、步骤:
1 分支结构(if和elif语句)shell编程
掌握并记忆教材P171示例程序。
编写运行并将源程序(及每行语句注释)和执行结果填写到实验报告中。
2 循环结构(for语句)shell程序设计
掌握并记忆教材P175示例程序。
编写运行并将源程序(及每行语句注释)和执行结果填写到实验报告中。
3 循环结构(while语句)shell编程
掌握并记忆教材P177示例程序。
编写运行并将源程序(及每行语句注释)
和执行结果填写到实验报告中。
4 循环结构(until语句)shell程序设计
掌握并记忆教材P177示例程序。
编写运行并将源程序(及每行语句注释)
和执行结果填写到实验报告中。
5 编写书后习题5,6,7,8,9,10六道题中的程序。
将源程序(及每行语句注释)和执行结果填写到实验报告中。
5
要求:
(1)按时参加实验,保证实验出勤率。
(2)独立或是在同学及老师指导下完成实验内容。
(3)实验之前做好预习及准备工作。
LINUX 实验报告专业:班级:学号:姓名:报告时间:实验一 Shell编程一.实验名称:考勤模拟shell程序设计二.实验目的:理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。
三.实验内容:考勤模拟Shell程序设计用shell设计一个模拟考勤程序,实现如下功能选择界面:1:上班签到2:下班签出3:缺勤信息查阅考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。
如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat中。
如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。
如果用户选择确信信息查询,则将check.dat中对应的用户迟到早退的信息查询出来并显示。
用户选择功能执行完,Shell程序继续回到功能选择界面等待下一个用户进行操作。
四.实验要求:1、掌握Shell程序的编辑、运行、调试方法2、完成实验内容要求是现的功能3、撰写实验报告五.试验运行代码:6、试验运行结果:六.实验心得学到了一些有关linux 的知识,还亲自参加了linux的安装party, 这些都让我对产生了了解和掌握linux的愿望。
在这方面,我只是个初学者,我希望跟我一样抱着学习linux 的心态但不知如何学习这方面技术而感到无从下手的初学者在看了这篇文章后,能够找到深入了解linux 的方向和办法。
以下就是学习linux的一个循序渐进的过程一.起步你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux 开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。
Linux编程课程设计报告题目: Linux Shell编程专业学号姓名指导教师日期题目:Linux Shell编程一、设计目的和任务实验目的:1.熟悉Shell环境和Shell的执行2.熟悉Shell的基本语法和语句3.了解Shell程序的调试方法实验内容:1.编写Shell程序2.调试和执行Shell程序二、设计原理Linux是一种开放源码、能够免费使用及自由传播的类似于UNIX操作系统。
它可运行于各种平台之上。
因为它不但具有UNIX系统的良好性能(如稳定性、安全性),同由于其具有开源和免费的特点,也越来越广泛地应用于各种嵌入式系统中。
Shell是用户和Linux操作系统内核程序间的一个借口。
Shell既是命令解释器,有事一种编程语言。
作为命令解释器,Shell为用户使用Linux操作系统提供丰富的工具界面。
若用户输入命令,Shell负责解释执行该命令并向用户返回结果。
作为编程语言,它利用自身的语言结构将工具命令组合起来提供更复杂的功能。
三、实验环境和总体设计一台2.安装虚拟机版的Linux操作系统四、详细设计步骤1.打开vmware软件,启动Linux系统2.用root用户名和密码登入系统中3.将某目录下面所有的文件名后面加上所有者的名字,如的所有者为owner,修改后为a[owner].txt文件。
基本要求:①使用方法为usage:程序名称目录名称若没有“目录名称”参数,则修改当前目录下文件名称②对目录中的子目录不做变化。
③ 给出实验结果。
五、结果测试与分析1. 进入root模式创建2618文件夹和文件2.编写shell程序3.执行shell程序,遇到权限问题,修改权限,并列出目录下所有文件4.修改权限后再次执行shell程序成功六、存在的问题编写程序时路径出现错误,导致找不到该文件修改前:修改后七、总结。
实验七shell编程
一、实验目的
(1)掌握shell编程的技巧和方法
(2)进一步练习编写shell程序
二、shell 命令、变量和控制结构
这些部分请参阅教材和课件
三、实验内容
1、编写一个shell 脚本程序,打印出班级总成绩排名在前3 名(按总成绩递增)学生的姓名、学号和总成绩。
打印输出的格式如下(姓名、学号、第1、
2、3 门课程成绩及总成绩):zhang san 23 40 70 60 170
wang wu 31 60 60 80 200
li si 2 100 50 90 240
学生成绩文件自己创建。
2、编写一个menu 的shell脚本程序,执行后的界面为:
Number Name For Linux Menu
1 exit leave menu or return
2 menu goto another local menu
3 vi deit a file
4 mail read a mail
5 send send mail to someone
6 cal see your calendar
7 who see who is on the system
8 ls list the files in this directory
9 cat display a file on the screen
Please enter a number or a name for the action you wish:
要求有清屏功能,能正确地执行各项命令并显示。
3、继续完成shell编程大作业
四、思考题
查阅资料,总结shell编程的特点、技巧。
实验七 linux下shell程序设计
1、实验目的
掌握局部变量、环境变量和位置变量的使用
掌握shell程序的输入和输出方式
掌握基本的shell程序编码方式
2、主要内容
实例1:利用shell程序设计,任意输入x,y值,其中S等于S=3x y+4x2+5y+6,计算出S的值,并最终将其输出。
实例2:请分别利用while和until循环计算出1到100的和,同时计算出100以内的素数的和。
While循环答案:
Until循环答案:
素数求和答案:
实例3:编写shell程序脚本,提示用户输入两个数字,在程序当中比较两个数字的大小,并且输出较大值。
实例4:利用冒泡排序,对输入的任意5个数值进行排序,并输出未排序的顺序和排序后的数据。
实例5:输入一个整数,判断是否为完数(完数:一个数恰好等于它的因子之和,如6=1+2+3)。
实例6:找出100以内所有能被3整除的数,每行显示8个数,然后换行显示。
实验报告课程Linux系统应用与开发教程实验名称linuxShell脚本编写一、实验目的1、掌握shell脚本编写的基本知识;2、掌握shell脚本中变量的使用;3、掌握shell脚本中引用命令行参数的方法;4、掌握for循环、while循环、read命令的使用;5、掌握命令扩展功能的使用。
二、实验内容1、使用bash的for循环语句编写一脚本batchmkdir.sh,能实现以下功能:在当前目录中建立10个目录,目录的命名形式为dir-1、dir-2、dir-3、…..dir-20;2、编写一个脚本batchuser.sh,能批量建立10个用户帐号,并给用户帐号设定8位的随机密码,同时把该用户名与密码保存到指定的文件中/root/user-pass.txt,以便管理员分发密码;其中帐号的形式为user-1、user-2、…user-10;保存用户名与密码的文件的每行的格式形式为:user-1:ChczVZww提示:密码可以是命令"openssl rand -base64 7",把用户名与密码对保存到文件中可以使用输出重定向的方法:参考命令 echo “user-1: ChczVZww”>/root/user-pass.txt3、在/root目录下编写脚本batchadduser.sh,实现以下功能:当用户以./ batchadduser stu 10的方式运行脚本时,能自动添加stu1、stu2、stu3 …. stu10的10个帐号,设定8位的随机密码,并设置帐号的密码有效期为60天,下次登陆必须改密码。
同时把该用户名与密码保存到指定的文件中/root/batch-user-pass.txt,密码文件的格式同第二题的要求。
4、编写一个shell脚本,实现以下功能:该脚本能读取usernamelist.txt中的用户列表(一行一个用户名)建立帐号,并给每个帐号设置8位随机密码,同时把该用户名与密码保存到指定userpass.txt 文件中,密码文件的格式同第二题的要求。
实验七 linux下shell程序设计
1、实验目的
掌握局部变量、环境变量和位置变量的使用
掌握shell程序的输入和输出方式
掌握基本的shell程序编码方式
2、主要内容
实例1:利用shell程序设计,任意输入x,y值,其中S等于S=3x y+4x2+5y+6,计算出S的值,并最终将其输出。
实例2:请分别利用while和until循环计算出1到100的和,同时计算出100以内的素数的和。
实例3:编写shell程序脚本,提示用户输入两个数字,在程序当中比较两个数字的大小,并且输出较大值。
实例4:利用冒泡排序,对输入的任意5个数值进行排序,并输出未排序的顺序和排序后的数据。
实例5:输入一个整数,判断是否为完数(完数:一个数恰好等于它的因子之和,如6=1+2+3)。
实例6:找出100以内所有能被3整除的数,每行显示8个数,然后换行显示。