实验七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程序设计
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个数,然后换行显示。