实验七Linux下shell程序设计 (pro)

合集下载

linux的shell脚本实验报告

linux的shell脚本实验报告

第二次实验内容一、实验名称: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 shell编程实验

linux shell编程实验

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_程序设计实验

Linux_Shell_程序设计实验

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课程设计

shell程序linux课程设计

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程序设计

Linux shell程序设计

20
环境变量
环境变量 $HOME $PATH $PS1 $PS2 $IFS 说明 当前用户的登陆目录 以冒号分隔的用来搜索命令的目录清单 命令行提示符,通常是”$”字符 辅助提示符,用来提示后续输入,通常是”>” 字符 输入区分隔符。当shell读取输入数据时会把 一组字符看成是单词之间的分隔符,通常是空 格、制表符、换行符等。
第3章 Shell 程序设计
主要内容
1. Shell Overview

What is Shell? Why Shell?
2. 创建和执行Shell程序 3. Shell程序设计的语法

变量、条件测试、条件语句、重复语 句、命令表和语句块、函数…
4. 实例
2
1. Shell Overview
Shell 用户和操作系统之间的接口 作为核外程序而存在
ash ash.static
bsh bash sh csh tcsh ksh
描述
一个小的shell 一个不依靠软件库的ash版本
ash的一个符号链接 “Bourne Again Shell”。 Linux中的主角,来自GNU项目 bash的一个符号链接 C shell, tcsh的一个符号链接 和csh兼容的shell Korn Shell
expr2
expr1 –lt expr2 expr1 小于 expr2 则结果为真
expr1 –le expr2 expr1 小于或等于 expr2 则结果为真
25
与文件有关的条件测试
文件条件测试 -e file -d file 结果 文件存在则结果为真 文件是一个目录则结果为真
if [ -f $1 ] ; then -f file 文件是一个普通文件则结果为真 echo “File exists” -s file 文件的长度不为零则结果为真 else -r file echo 文件可读则结果为真 exist” “File does not -w file 文件可写则结果为真 fi

Linux shell 程序设计

Linux shell 程序设计

2. Vi编辑器的使用(续)
进入插入模式的操作:
按“i”:从光标当前位置开始输入文件。 按“a”:从目前光标所在位置的下一个位 置开始输入文字。 按“o”:在光标所在的行的下面插入一行, 从行首开始输入文字。 按“I”:在光标所在行的行首插入。
2. Vi编辑器的使用(续)
进入插入模式的操作:
按“A”:在光标所在行的行末插入。 按“O”:在光标所在的行的上面插入一行。 按“s”:删除光标位置的一个字符,然后 进入插入模式。 按“S”:删除光标所在的行,然后进入插 入模式。
4. Shell变量(续)
预定义变量:
预定义变量和环境变量相类似,也是在Shell 一开始时就定义了的变量。所不同的是,用 户只能根据Shell的定义来使用这些变量,所 有预定义变量都是由符号“$”和另一个符号 组成的。
4. Shell变量(续)
预定义变量:
常用的Shell预定义变量如下。 $#:位置参数的数量。 $*:所有位置参数的内容。 $?:命令执行后返回的状态。 $$:当前进程的进程号。 $!:后台运行的最后一个进程号。 $0:当前执行的进程名。
2. Vi编辑器的使用(续)
复制:
“yw”:将光标所在之处到字尾的字符复制 到缓冲区中。 “nyw”:复制n个字到缓冲区。 “yy”:复制光标所在行到缓冲区。 “nyy”:例如,“6yy”表示复制从光标所 在行开始的6行字符。 “p”:将缓冲区内的内容写到光标所在位 置。
2. Vi编辑器的使用(续)
4. Shell变量
像高级程序设计语言一样,Shell也提供说明 和使用变量的功能。对Shell来讲,所有变量 的取值都是一个字符,Shell程序采用“$var” 的形式来引用名为var的变量的值。

操作系统-shell程序设计

操作系统-shell程序设计
if [ ! -d $DIRECTORY ]
then
echo "Sorry,$DIRECTORY is not a directory!"
exit 1
fi
cd $DIRECTORY
}
clear
ANS=Y
while [ $ANS = Y -o $ANS = y ]
do
echo "==========================="
echo "####################################"
echo "# 1:ADD A RECORD #"
echo "# 2:SEARCH RECORD #"
echo "# 3:DELETE A RECORD #"
echo "# 4:SHOW ALL RECORD #"
4) display;;
Q|q) quit;;
*) echo "Invalid Choice!";
sleep 2;
clear;;
esac
done
七、实验结果
任务一
解压:
任务三
添加功能
查询功能
未找到姓名时有
删除功能
删除不存在的数据时有:
删除成功:
显示所有数据:
八、实验总结
通过这个试验,我初步了解了shell的编程特点,也基本掌握了shell程序设计的一些基础性的知识,同时对shell程序的运行方式以及程序控制流程有了进一步的认识,基本掌握了shell程序的编写方法以及一些使用技巧
if [ ! -f ./record ] ; then

linux实验报告--shell编程

linux实验报告--shell编程
4、能够编写一个简置一个用户自定义变量,变量名为你姓名的全拼,变量的内容为linux;
2、设置一个用户自定义变量,变量名为你姓名的全拼缩定,变量的内容为I Love Linux;
3、根据课件分别查看三个系统自定义变量值;
4、查看当前的PATH值,并增加一个路径/network;
5、编写一个简单的脚本,存放的路径在/network下,内容为分别显示三个系统自定义变量值
6、根据课件完成9.2.3 Shell的流程控制中的if部分的脚本。
1.思考题(由老师在上机前出好题目,学生通过实验后再回答)
2.实验结果(学生填写)
3.心得体会(学生填写)
广东科学技术职业学院
计算机工程技术学院(软件学院)
实验报告
专业计算机网络技术班级成绩评定______
学号姓名(合作者____号____)教师签名赖小卿
实验题目shell编程
第周星期一第节
一、实验目的与要求
1、掌握并熟悉如何设置、查看一个用户自定义变量值;
2、掌握如何查看系统自定义的环境变量值;
3、掌握并熟悉如何查看PATH以及修改PATH;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

相关文档
最新文档