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,测试其功能。
实验指导书--实验03 Linux Shell编程
实验三: Linux Shell编程
实验学时: 2
实验类型: 设计
实验要求: 必修
一、实验目的
通过本实验的学习, 使学生掌握Shell编程的基本方法。
二、实验内容
实验内容: Linux Shell实现题目所要求的功能。
三、实验原理、方法和手段
无
四、实验组织运行要求
以学生自主训练为主的开放模式组织教学
五、实验条件
PC机
六、实验步骤
1.编写一个Shell脚本, 完成以下功能:
1)显示文字“Waiting for a while….”
Vi helloworld
#!/bin/bash
Echo “Waiting for a while….”
2)显示当前目录下面扩展名为”.h”的文件和目录, 并输出重定向到/home/file.txt文件
Find .h
Find .h >>/home/file.txt
提示: 显示文字可使用echo命令, 搜索文件可使用find命令
2.编写一个Shell脚本, 完成以下功能
计算8以内(含8)不是3的整数倍的数字的和
3.编写一个Shell脚本, 在当前目录创建5个目录, 目录的命名形式分别为: dir-1, dir-2, …., dir-5
七、思考题
比较C语言和Shell编程的一些异同点。
八、实验报告
实验预习: 学习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程序。
linux shell实验报告
linux shell实验报告《Linux Shell实验报告》摘要:本实验报告主要介绍了在Linux操作系统中使用Shell进行实验的过程和结果。
通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。
实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。
一、实验目的本实验旨在通过实际操作,加深对Linux Shell的理解和掌握,探索Shell在Linux系统中的应用和作用。
二、实验内容1. Shell的基本概念在实验中,我们首先了解了Shell的基本概念,包括Shell是什么、其作用和特点等内容。
通过实际操作,我们发现Shell是一种命令行解释器,能够接收用户输入的命令并将其转化为操作系统能够理解的指令,从而实现对系统资源的管理和控制。
2. 常用Shell命令在实验中,我们学习了一些常用的Shell命令,如cd、ls、mkdir、rm等,以及它们的用法和功能。
通过实际操作,我们发现这些命令能够帮助我们在Linux 系统中进行文件和目录的管理,实现对系统资源的快速访问和操作。
3. Shell脚本编写和执行在实验中,我们还学习了如何编写和执行Shell脚本。
通过实际操作,我们发现Shell脚本能够帮助我们实现对一系列命令的批量执行,从而提高工作效率和操作便利性。
三、实验结果通过实验,我们深入了解了Shell的基本概念、常用命令和操作技巧,同时掌握了Shell脚本编写和执行的方法。
实验结果表明,Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性。
四、结论本实验通过实际操作,加深了对Linux Shell的理解和掌握,探索了Shell在Linux系统中的应用和作用。
通过实验,我们发现Shell在Linux系统中具有重要的作用,能够提高工作效率和操作便利性,对于Linux系统的管理和维护具有重要的意义。
linuxshell编程实验总结
Linux Shell 编程实验总结1.引言本文档总结了在学习Li nu xS he ll编程过程中的实验经验和心得体会。
通过对L in ux Sh el l编程实验的实施和总结,我们能够更好地理解S h el l脚本的运行机制,掌握Sh el l脚本的基本语法和常用命令,提高编写高效、精确的Sh e ll脚本的能力。
2.实验一:S hell 脚本基础2.1实验目的本实验旨在帮助学员熟悉Sh el l脚本的基本语法和常用命令,掌握脚本的编写与执行方法。
2.2实验内容在本实验中,我们学习了如何编写具有特定功能的Sh el l脚本,如输出H el lo Wo rl d、计算两个数之和、判断文件是否存在等。
2.3实验心得通过本实验的实施,我对Sh el l脚本的基本语法有了更深入的理解。
在编写脚本的过程中,我发现使用变量、条件判断和循环结构可以极大地提高脚本的灵活性和实用性。
同时,我也加深了对常用命令的认识和掌握,如e ch o、re ad、i f-e ls e、fo r循环等。
这些基本的知识将为后续的实验和项目实践打下坚实的基础。
3.实验二:文件和目录操作3.1实验目的本实验旨在帮助学员了解Li nu x文件系统的基本操作,掌握S he ll脚本中与文件和目录相关的命令。
3.2实验内容在本实验中,我们学习了如何创建、复制、重命名和删除文件、目录,以及如何查询文件和目录的属性信息等。
3.3实验心得通过本实验的实施,我对Li nu x文件系统有了更深入的了解。
我学会了如何使用S he ll脚本快速处理文件和目录,并且能够根据需求编写相应的脚本来操作文件。
例如,通过使用fi n d命令来查找文件,使用g r ep命令来搜索文件内容等。
这些技能在日常工作中非常有用,能够提高工作效率和准确性。
4.实验三:文本处理4.1实验目的本实验旨在帮助学员掌握Sh el l脚本中处理文本的常用命令和技巧,能够快速有效地处理常见的文本数据。
linux实验五、Shell脚本程序编制实验
实验五Shell脚本程序编制实验●编写一个Shell命令脚本程序的基本步骤如下:●(1)编辑包含用户命令脚本程序的文本文件●(2)添加Shell定义语句,使Linux操作系统可以知道用户使用哪一种Shell●(3)编写Shell命令脚本程序内容●(4)保存脚本程序并退出。
用“chmod +x ”命令改变该脚本程序的存取权限和执行权限,使其可以被适当的用户使用。
●(5)运用该命令脚本程序以进行测试●(6)如有必要,可进行程序纠错。
●(7)如有必要,可把完整的命令脚本程序移动到相应位置●(8)如有必要,可在path语句中加上此脚本的路径练习:编写书本P107welcome Shell脚本程序运行脚本程序的三种方法:a.bash 脚本文件名b.bash < 脚本文件名c.chmod u(或g,o,a)+x 脚本文件名#为脚本添加执行权限Shell定义的环境变量shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,这些变量用户还可以重新定义,常用的shell环境变量有:●HOME:用于保存注册目录的完全路径名。
●PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。
●TERM:终端的类型。
●UID:当前用户的标识符,取值是由数字构成的字符串。
●PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。
●PS1:主提示符,在特权用户下,缺省的主提示符是“#”,在普通用户下,缺省的主提示符是“$”。
●PS2:在shell接收用户输入命令的过程中,如果用户在输入行的末尾输入“\”然后回车,或者当用户按回车键时shell判断出用户输入的命令没有结束时,显示这个辅助提示符,提示用户继续输入命令的其余部分,缺省的辅助提示符是“>”。
练习:使用echo显示上述环境变量内容注意:PS1 提示符设定标记:●\d 日期●\H 完整主机名\h 主机名第一段●\t 24小时时间\T 12小时时间●\u 用户名●\V Bash版本信息●\w 完整的工作路径\W 最后一层目录名●\# 下达的第几个命令●\\$ 提示符(root $,普通用户#)练习:输入以下命令,思考设置PS1环境变量的作用PS1=‟\u-\w(\#)\\$‟PS1=[\u@\h \W]\\$定义变量格式:变量名=变量值引用变量$变量名只读变量readonly 变量名export命令对已定义的变量进行输出,使变量可被子shell使用位置参数位置参数是一种在调用Shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。
LinuShell程序设计试验
Linux shell程序设计实验指南请在vi中逐一编辑并执行以下10个shell脚本程序,然后结合所学知识和程序的输出分析各程序中各语句的含义:1.编写一个简单的回显用户名的shell程序。
#!/bin/bash#filename:dateecho Mr.$USER,Today is:echo 'date'echo Whish you a lucky day!2.使用if-then语句创建简单的shell程序。
#!/bin/bash#filename:bbbbecho -n Do you want to continue: Y or Nread 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 $SCOREif [ $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 Restoreecho Backupecho Unloadecho#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系统实践实验项目LINUX SHELL脚本程序设计实验仪器PC系别计算机学院专业网络工程班级/学号网1702/**********学生姓名孟启贤实验日期 4.15成绩指导教师李艳平实验三LINUX SHELL脚本程序设计一、实验目的:通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。
对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。
通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。
二、实验环境操作系统:任何Unix/Linux或windows 系列应用系统:SHELL 或windows环境下的cygwin模拟系统三、实验要求1、做好实验预习,通过查找资料、阅读系统提供的帮助文件等多种渠道了解本实验所使用的SHELL命令及各种技术方法。
充分利用所学知识,预设多种实现思路。
2、写出实验报告,内容是:⑴简要说明实验的目的、任务与设备。
⑵写出实验步骤、实现的技术手段及关键代码。
⑶在给定实验数据的基础上给出相应的输出结果。
⑷总结实验中遇到的问题及解决方法。
⑸写出实验心得与收获。
四、实验内容本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术。
内容如下:⑴创建以下菜单程序:USER: **** HOST: ******** DATE: **/**/20**A: 创建子目录并测试B: 文件查找C: 文件权限测试及统计D: 文件创建与复制E: 文件内容修改Q: 退出系统———————————————————————————————A:在用户家目录下创建名字为你学号后四位数字的子目录,其存取权限为(drwxr-xr-x)。
测试确认目录存在,输出提示。
B:在/dev目录下查找由sd开头且文件名由3个字符组成的文件,找到后用file命令显示其文件类型;显示当前系统中所有变量和Shell函数。
linux下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基础
题目要求:四种变量的使用配置环境变量元字符和正则表达式引号1. 本地变量$ var1="hello Linux" //定义本地变量var1$ read var2 //定义本地变量vae2$ echo $var1 $var2 //显示本地变量的值2. 环境变量$ env //显示系统的环境变量$ echo $PATH //显示搜索路径变量PATH$ MYNAME="zhangs" //定义本地变量MYNAME$ export MYNAME //将本地变量MYNAME输出为环境变量下面观察环境变量与本地变量作用范围的区别$ echo $var1 $MYNAME //显示本地变量和环境变量输出:hello Linux zhangs$ bash //创建子进程bash$ echo $var1 $MYNAME //显示本地变量和环境变量输出:zhangs$ exit //退出子进程bash$ echo $var1 $MYNAME输出:hello Linux zhangs通过修改环境变量PS1可修改提示符$ PS1=$ //将提示符变为$ps3. 位置变量使用编辑器vi 编辑下列shell 脚本#!/bin/bashecho $0 $1 $2 $3将上述两行脚本保存为文件locat.sh$ chmod +x locat.sh //增加执行权限$ ./locat.sh you me he观察显示结果,理解位置变量的定义。
4. 预定义变量用编辑器vi编辑以下shell脚本#!/bin/bashecho $#echo $*将上述三行保存为文件predef.sh$chmod +x predef.sh //增加执行权限$ ./predef.sh Linux Unix Windows观察运行结果,理解预定义变量的含义。
预定义变量有3个。
分别是:Linux Unix Windows5. 配置环境变量可通过用户主目录下的配置文件,改变系统的启动参数,例如:可通过修改.bash_profile修改环境变量PATH,具体操作如下:$ cd ~ //进入用户的主目录$ vi .bash_profile //编辑配置文件若文件中有下列行:PATH= P A T H ; PATH;PATH;HOME/bin则在PATH路径中增加当前路径,修改后外:PATH= P A T H : PATH:PATH:HOME/bin:.$ exit //退出用该用户的账号重新登录系统执行当前目录下的locat.sh脚本无需制定当前路径,例如:$ locat.sh myname is zhangs6.元字符与正则表达式$ cd ~ //进入用户主目录,中间有空格# ls -l / >list //以详细方式列出根目录下的所有文件信息,重定向至list文件$ grep ^d list // 查询所有目录$ ls *.sh //列出所有后缀名为.sh的shell脚本文件7. 反引号、单引号和双引号$ abc="pwd" //没有空格$ echo '$abc' //只显示单引号内的字符串,abc$ echo "$abc" //显示变量的值,pwd$ echo `"$abc"` //"和`的综合使用,/root$ echo "`pwd`" //为"内的`作出解释,/root$ echo *$ echo "*" //屏蔽元字符的特定含义,*$ echo ‘*’//观察显示结果,*$ echo \* //观察显示结果,*。
实验6 Shell 程序设计(一)_Linux系统应用与开发教程_[共3页]
实验6Shell程序设计(一)一、实验目的(1)通过实际操作,了解Shell的作用,了解Shell程序的编辑、调试、运行过程。
(2)掌握Bash Shell的输入输出语句用法。
(3)掌握Bash Shell的if结构编程。
(4)掌握Bash Shell的case结构编程。
二、预备知识1.Shell的作用(1)Shell是用户和系统内核之间的接口程序。
(2)Shell是命令解释器。
2.Shell程序的特点和用途(1)Shell程序可以认为是将Shell命令按照控制结构组织到一个文本文件中,批量地交给Shell去执行。
(2)不同的Shell解释器使用不同的Shell命令语法。
(3)Shell程序解释执行,不生成可以执行的二进制文件。
(4)可以帮助用户完成特定的任务,提高使用、维护系统的效率。
(5)了解Shell程序可以更好地配置和使用Linux。
3.Shell编程的场合(1)Shell使用解释型语言,不需重新编译。
(2)它适合于编写执行相对简单的任务的工具,因为它更强调易于配置、维护和可移植性。
(3)它不适合用来完成时间紧迫型和处理器忙碌型的任务。
4.如何执行Shell程序(1)可以使用 /bin/sh filename。
(2)或给该文件属性添加执行权限,然后直接执行。
5.注意(1)Linux是一个大小写敏感的系统,Shell认为变量foo与Foo是不同的,与FOO也不同。
(2)当为变量赋值时,只需要使用变量名,该变量会被自动创建。
(3)要使用变量,必须在变量前加$符号。
212。
LINUX_shell程序编程实验报告
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是最多的它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。
实验4 Linux Shell程序设计
cd $1
}
do_date
setup
chgdir
4 paramtest
#!/bin/bash
echo filename:$0
echo arguments:$*
echo number arg:$#
echo arg2:$2
shift
echo number arg:$#
echo arg2:$2
set hello,everone
实验4 Linux ShБайду номын сангаасll程序设计
1、实验目的
(1)掌握Linux shell程序运行方法
(2)掌握Linux Shell程序基本语法
(3)了解Linux环境变量
(3)编写简单Linux shell程序
2、实验内容
(1)查看/etc/.profile文件:相当于DOS下autoexe.bat
(2)通配符“*”、“?”、“[]”的使用
$ls [a-c]*和$ls [a,m,t]*命令
(3)重定向和管道的使用
ls | more
cat > test.txt
(4)变量
$lookup=/usr/mydir
$echo $lookup
$export lookup:让进程使用
(5)编辑并运行以下程序(shell程序控制结构)
1 fortest
(2)详细记录程序调试及运行结果
4、实验心得与总结
内核在内充中是受保护的块,因烤瓷我们必须要通过“shell”将我们输入的命令与kernel通信,好让kernel可以控制硬件来正确无误的工作。系统合法的shell均卸载/etc/shells文件中,用户默认登陆取得的shell记录于/etc/passwd的最后一个字段。Set可以查看目前bash环境下的所有变量。
Linux实验报告(实验四)shell编程实验
Linux实验报告(实验四)shell编程实验实验四 shell编程实验(二)班级:姓名:学号:上机时间:年月日任课教师:实验教师:实验成绩:一、实验目的综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。
二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容1. 编写一个脚本,求斐波那契数列的前10项及总和。
num1=1num2=1echo -n “$num1+$num2”sum=2for((i=1;i<=8;i++))dotmp=$(expr $num1 + $num2)echo -n “+$tmp”((num1=num2))((num2=tmp))sum=$(expr $sum + $tmp)doneecho “=$sum”2.编写一个脚本,求一个数的逆序。
echo -n please input num:read numecho -n The num iswhile [ $num -gt 0 ]dosd=$(($num % 10))echo -n "$sd"num=$(($num/10))doneecho3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验)mkdir -m 754 /home/userdatai=1temp=/home/userdata/userwhile[ $i -le 5 ]domkdir -m 754 $temp$ilet”i=i+1”#done4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。
Linux操作系统实验3-Shell程序设计
通过Shell编程中变量的定义和赋值的操作,进行条件测试语句的程序设计、选择结构的程序设计和循环结构的程序设计。
1.编写Shell程序,判断文件是否是符号链接文件,如果是则移动到/temp目录下,否则不做任何处理;代码:#!/bin/bash#filename:linkfileecho "Please input the direction of the file:"read FILENAMEif [ ! -f $FILENAME ];thenecho "$FILENAME is not exist!"exitelseif [ ! -L $FILENAME ];thenecho "$FILENAME is not a symbolic file!"exitelsemv $FILENAME /tempecho "$FILENAME has moved to /temp"fifi实验步骤:使用ln -s item link命令建立符号链接(软链接)文件,如图所示:为Q1.sh设置运行权限,并执行Q1.sh:查看链接文件情况:已经移动至/temp目录2.编写Shell程序,使用select命令生成选择菜单,允许用户在菜单中选择,并基于选择执行相应的命令;代码:#!/bin/bash#filename:selectPS3="Please choose the command:"select cmd in "ls -l" "date + %y" pwd who "cd /root" ps df clear exit do$cmdDone实验步骤:为Q2.sh设置运行权限,并执行Q2.sh:3.编写Shell程序,分别采用while和until循环结构来计算1~50之间所有奇数之和。
LINUXshell程序编程试验报告
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、撰写实验报告五.试验运行代码:#缺勤信息查阅3)echa ”请输入您的名字:11read nameecho ”请输入您的密码:11read password#用户密码脸证if test -r /hoire/user/use rinfo.dat #如果usm「inT。
.dat文件存在且可读then while read fname fpassworddoif test "tfname" = "tname"thenif test "$password"="tpassword"thenbreakdone < /honiH/uGHr/us巳「inf。
j日telseecho System E「「Q「;use「info.ddt does not exist!if test "^fname" != "tname"thenecho ”不存在该用户”elif test 11$fpassword'!= '^password11thenecho ”密码不正确”elseecho "您的记录:"echo 11 -------------- 11cat -b /home/user/check.dat | grep $nameecho 11 -------------- 11fi; i#非法输入*} echo ”清输入含法的选欣I " esaclone#!/bin/shelLwhile true; do#屏幕显示提示信息echo ""echo ” ——欢迎使用本系统——"echo ”L上班签到“echo ”2、下班签出“echo ”3、考勤信息查阅”echo ” ----------------------------------- ”echo ""echo ”请输入您的选原:”#读入选国read choicecase $choice in#上班签到1)echo ”请输人您的名字:" read nameecho ”请输入您的密码:" read password#用户密码这证if test -r /home/user/use rinfo.dat #如果115H「inf。
linux实验七_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程序设计
实验七 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个数,然后换行显示。
实验3:Shell程序设计
实验报告3课程名称:Linux驱动程序开发实验名称:Shell程序设计学生姓名:班级:学号:指导老师:钱振江成绩:一、实验目的1.Shell程序设计中变量的使用;2.理解通道的概念并初步掌握它的使用方法;3.掌握算术操作、字符串操作、逻辑操作、文件操作;4.掌握if then fi、if then elif fi、case、while、for等控制语句;5.在shell脚本中使用函数;二、实验任务与要求1.通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;2.Shell顺序程序设计;3.Shell分支程序与多分支程序设计;4.Shell循环程序设计。
三、实验工具与准备计算机PC机,Linux Ubuntu操作系统预备知识1.环境变量:$HOME; $PATH; $PS1; $1~$9; $*; $@; $#; $$; $?; $!等。
$0是一个内部变量,它是必须的,而$1则可有可无,最常用的内部变量有$0、$#、$?、$*,它们的含义如下:❑$0 :命令所在的路径❑$# :传递给程序的总的参数数目❑$? :shell程序在shell中退出的情况,正常退出返回0,反之为非0值❑$* :传递给程序的所有参数组成的字符串2.字符串比较有=、!=、-n、-z;算术运算有-eq、-ge、-le、-ne、-gt、-=lt;逻辑运算有!、-a、-o;文件测试-d、-f、-x等;3.for 循环❑语法:for 变量in 列表do操作done4.while循环❑语法:while 表达式do操作done5.until循环❑语法:until 表达式do操作Done6.if语句❑语法:if 表达式1 then操作elif 表达式2 then操作elif 表达式3 then操作…else操作fi7.case语句❑语法:case 字符串in值1|值2)操作;;值3|值4)操作;;值5|值6)操作;;*)操作;;esaccase的作用就是当字符串与某个值相同是就执行那个值后面的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux shell程序设计实验指南
请在vi中逐一编辑并执行以下10个shell脚本程序,然后结合所学知识和程序的输出分析各程序中各语句的含义:
1.编写一个简单的回显用户名的shell程序。
#!/bin/bash
#filename:date
echo "Mr.$USER,Today is:"
echo 'date'
echo Whish you a lucky day!
2.使用if-then语句创建简单的shell程序。
#!/bin/bash
#filename:bbbb
echo -n "Do you want to continue: Y or N"
read ANSWER
if [ $ANSWER=N -o $ANSWER=n ]
then
exit
fi
3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。
#!/bin/bash
#filename:ak
echo -n "please input a score:"
read SCORE
echo "You input Score is $SCORE"
if [ $SCORE -ge 60 ];
then
echo -n "Congratulation!You Pass the examination."
else
echo -n "Sorry!You Fail the examination!"
fi
echo -n "press any key to continue!"
read $GOOUT
4.使用case语句创建一个菜单选择的shell程序。
#!/bin/bash
#filename:za
#Display a menu
echo _
echo "1 Restore"
echo "2 Backup"
echo "3 Unload"
echo
#Read and excute the user's selection
echo -n "Enter Choice:"
read CHOICE
case "$CHOICE" in
1) echo "Restore";;
2) echo "Backup";;
3) echo "Unload";;
*) echo "Sorry $CHOICE is not a valid choice
exit 1
esac
5.使用for语句创建简单的shell程序。
#!/bin/bash
#filename:mm
for ab in 1 2 3 4
do
echo $ab
done
6.使用for语句创建求命令行上所有整数之和的shell程序。
#!/bin/bash
#filename:qqq
sum=0
for INT in $*
do
sum='expr $sum + $INT'
done
echo $sum
7.使用while语句创建一个计算1-5的平方的shell程序。
#!/bin/bash
#filename:zx
int=1
while [ $int -le 5 ]
do
sq='expr $int \* $int'
echo $sq
int='expr $int + 1'
done
echo "Job completed"
8.使用while语句创建一个根据输入的数值求累加和(1+2+3+4+…+n)的shell程序。
#!/bin/bash
#filename:sum
echo -n "Please Input Number:"
read NUM
number=0
sum=0
while [ $number -le $NUM ]
do
echo number
echo "$number"
number=' expr $number + 1 '
echo sum
echo "$sum"
sum=' expr $sum + $number '
done
echo
9.使用until语句创建一个计算1-5的平方的shell程序。
#!/bin/bash
#filename:xx
int=1
until [ $int -gt 5 ]
do
sq='expr $int \* $int'
echo $sq
int='expr $int + 1'
done
echo "Job completed"
10.使用until语句创建一个输入exit退出的shell程序。
#!/bin/bash
#filename:hk
echo "This example is for test until....do "
echo "If you input [exit] then quit the system "
echo -n "please input:"
read EXIT
until [ $EXIT = "exit" ]
do
read EXIT
done
echo "OK!"
本章项目设计
1.编写一个shell脚本,输入1 – 10之间的一个数,并判断它是否小于5。
2.编写一个shell脚本,随机输入5个数,打印出了值为3的所有数。