LINUX-Shell编程实验报告

合集下载

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核心的。

实验指导书--实验03 Linux Shell编程

实验指导书--实验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编程-平方与菜单实现
即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录后执行更名操作;输入数字3和4分别执行删除和查找操作;输入数字5,则退出该菜单shell程序的执行。
四、实验报告内容
1)编写一个shell脚本程序pingfang,计算1到10之间整数的平方值。
比如,在命令行下运行:./pingfang 5后屏幕上显示:25
脚本程序如下所示:
运行结果如下:
(2) 编写1个弹出式菜单的shell程序并实现其简单的菜单功能:
*******************************************************
* MENU *
* 1.copy 2.rename *
* 3.remove 4.find *
* 5.exit *
*******************************************************
即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录后执行更名操作;输入数字3和4分别执行删除和查找操作;输入数字5,则退出该菜单shell程序的执行。
VMWare6.0虚拟机和已经安装的Red Hat Linux 9.0系统;
三、实验内容与步骤
(1)编写一个shell脚本程序pingfang,计算1到10之间整数的平方值。
比如,在命令行下运行:./pingfang 5后屏幕上显示:25
(2)编写1个弹出式菜单的shell程序并实现其简单的菜单功能:
*******************************************************
* MENU *

linux 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编程实验总结

linuxshell编程实验总结

linuxshell编程实验总结Linux Shell编程实验总结在Linux系统中,Shell编程是一种强大的工具,可以帮助用户进行自动化任务、脚本编写和系统管理。

通过学习和实践Shell编程,我深深地体会到了其在提高工作效率和简化任务流程方面的重要性。

在这篇文章中,我将总结我在Linux Shell编程实验中的经验和心得。

一、实验概述在这次Linux Shell编程实验中,我学习并应用了Shell脚本语言,掌握了基本的语法和命令,并通过实验来加深对Shell编程的理解和掌握。

实验的内容包括变量的定义和使用、条件语句的实现、循环结构的应用等。

二、变量的定义和使用在Shell编程中,变量的定义和使用是非常重要的一部分。

通过实验,我学会了如何使用“=”符号来给变量赋值,并可以在后续的命令中使用这个变量。

在实践中,我发现给变量加上$符号可以获取变量的值,并且可以在字符串中插入变量。

这在编写脚本时非常有用,可以将一些可变的部分定义为变量,提高程序的可读性和可维护性。

三、条件语句的实现条件语句在Shell编程中起到了重要的作用,可以根据不同的条件执行不同的命令。

通过实验,我掌握了Shell中常用的条件判断语句,如if语句和case语句。

在编写条件语句时,我注意到要使用适当的比较运算符(如“-eq”表示等于、“-ne”表示不等于等),并在语句块的结尾加上“fi”或“esac”来结束条件语句的定义。

四、循环结构的应用在实践中,我发现循环结构是Shell编程中非常重要的一部分,可以重复执行特定的任务。

通过实验,我掌握了两种常见的循环结构:for循环和while循环。

在编写循环结构时,我注意到要使用适当的循环控制语句,如“break”可以用于跳出循环,“continue”可以用于跳过当前循环中的剩余命令,继续下一次循环。

五、实验心得通过这次实验,我深刻认识到了Shell编程在自动化任务和脚本编写方面的重要性。

Shell编程既可以简化日常工作中的重复性任务,又可以提高工作效率和减少出错的可能性。

linux-shell 脚本编写实验报告

linux-shell 脚本编写实验报告

实验报告课程Linux基础及应用实验名称Linux Shell脚本编写第页专业_计算机科学与技术__ 班级__6班_ 学号_105082009014_ 姓名林清萍实验日期:2011年11 月3 日报告退发(订正、重做)一、实验目的1、掌握shell脚本编写的基本知识;2、掌握shell脚本中变量的使用;3、掌握shell脚本中引用命令行参数的方法;4、掌握for循环、while循环、read命令的使用;5、掌握命令扩展功能的使用。

二、实验内容1、使用bash的for循环语句编写一脚本batchmkdir.sh,能实现以下功能:在当前目录中建立10个目录,目录的命名形式为dir-1、dir-2、dir-3、…..dir-10;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 文件中,密码文件的格式同第二题的要求。

linuxshell编程实验总结

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实验报告总结-共10篇

linux实验报告总结-共10篇

∣inux实验报告总结(共10篇)(Linux实验报告汇总)(一)Shell 编程一、实验目的:1)掌握在Linux下的C编程基本方法。

2)掌握shell编程方法。

3)掌握dialog图形化编程方法。

二、实验内容1、编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。

要求记录所使用的命令及结果。

#include stdio.hmain()(printf(Hello world!\n);)2、编写一个C程序并设置其在后台执行,其功能是在一段时间后(可自行设置),在屏幕上显示信息:Time for play!,写出相应的程序、命令及结果。

#include stdio.hmain()(int time=0;printf(请输入等待时间(单位:s):);scanf(%d/&time);sleep(time);printf(Time for play!\n);)3、编写C程序,求1到100之间整数的阶乘和,并对程序进行优化。

写出程序、命令和结果。

#include stdio.hmain()int i;double s = l,sum = 0;for( i= l;i= 100;i++)sum+=s*=i;printf( 1到100之间整数的阶乘和:%f\n,sum);printf( 1到100之间整数的阶乘和:%e\n,sum);}4、编写C程序,根据键盘输入的半径求圆面积,要求在命令行周率(P∣=3∙14,PI=3∙14159,PI=3.14159626 等)进行编使用不同的译,写出程序、命令和结果。

#include stdio.hint main()double r = 0.0 , Area = 0.0;printf(请输入半径:);scanf(%lf, &r);Area = PI * r * r;printf(圆面积:%f∖n, Area);)5、编写shell程序sh.l,完成向用户输出“你好!”的问候语。

linux shell实验报告

linux shell实验报告

linux shell实验报告Linux Shell实验报告一、引言Linux Shell是一种命令行解释器,它是Linux操作系统的核心组成部分。

通过Shell,用户可以直接与操作系统进行交互,执行各种命令和程序。

本实验旨在探索Linux Shell的基本用法和功能,以及如何通过Shell脚本实现自动化任务。

二、Shell的基本用法1. 登录Shell在Linux系统中,可以通过终端或控制台登录Shell。

输入用户名和密码后,即可进入Shell环境。

2. Shell命令的基本格式Shell命令由命令名称和参数组成。

命令名称用于指定要执行的操作,而参数则用于指定操作的具体细节。

3. 常用Shell命令(1)ls:列出当前目录下的文件和文件夹。

(2)cd:切换当前工作目录。

(3)mkdir:创建新的文件夹。

(4)rm:删除文件或文件夹。

(5)cp:复制文件或文件夹。

(6)mv:移动文件或文件夹。

(7)cat:查看文件内容。

(8)grep:在文件中搜索指定的字符串。

(9)chmod:修改文件或文件夹的权限。

(10)ssh:通过网络连接到远程服务器。

三、Shell脚本的编写与执行1. Shell脚本的基本结构Shell脚本是一系列Shell命令的集合,可以按照特定的顺序执行。

一个典型的Shell脚本包含以下几个部分:(1)Shebang:指定脚本的解释器。

(2)注释:用于解释脚本的用途和功能。

(3)变量定义:定义脚本中使用的变量。

(4)函数定义:定义脚本中使用的函数。

(5)主体代码:包含实际执行的命令。

2. Shell脚本的执行要执行一个Shell脚本,可以使用以下命令:```shellchmod +x script.sh./script.sh```首先,使用chmod命令给脚本添加可执行权限。

然后,使用./命令来执行脚本。

3. Shell脚本的实例以下是一个简单的Shell脚本示例,用于统计一个文件中指定字符串的出现次数:```shell#!/bin/bash# 统计指定字符串的出现次数count=$(grep -o "keyword" file.txt | wc -l)echo "出现次数:$count"```此脚本通过grep命令在file.txt文件中搜索关键字"keyword",并使用wc命令统计匹配行的数量。

【优质文档】shell编程研究报告-word范文模板 (4页)

【优质文档】shell编程研究报告-word范文模板 (4页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==shell编程研究报告篇一:LINUX-Shell编程实验报告《LINUX管理与应用》课程实验报告≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡篇二:Shell编程实验报告南京信息工程大学实验(实习)报告【实验目的】1、了解和熟悉创建并使用脚本的步骤。

2、熟悉bash的控制结构。

3、学会简单的shell编程。

【实验内容】1、创建一个简单的列目录和日期的shell 脚本并运行之。

步骤:⑴输入下列命令,创建一个新文件:cat >new_script⑵输入下列行:echo “Your files are”ls(来自: 在点网)echo “today is”date按回车键将光标移到一个新行,按Ctrl+D键保存并退出。

⑶检查文件内容,确保它是正确的:cat new_script⑷运行脚本,输入它的文件名:new_script该脚本不运行。

⑸输入下列命令,显示文件的权限:ls –l new _script权限表明该文件不是可执行。

要通过简单调用文件名来运行脚本,必须有权限。

⑹输入下列命令,使new_script变成可执行文件。

chmod +x new_script⑺要查看新的权限,输入:ls –l现在拥有文件的读、写和执行权限。

⑻输入新脚本的名字以执行它:new_script所有输入到文件的命令都执行,并输出到屏幕上。

⑼如果接收到错误信息,比如:command not found输入下列命令:./new_script该命令行通知shell到哪里寻找shell脚本new_script,即您的当前目录“.”。

程序运行过程如下:2、用Shell 语言编制一Shell 程序,该程序在用户输入年、月之后,自动打印数出该年该月的日历。

程序运行过程如下:3、编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of program”。

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;

linux实验报告shell编程

linux实验报告shell编程

linux实验报告shell编程1. 什么是Linux Shell编程?Linux Shell编程是一种在Linux操作系统上使用Shell脚本开发的编程语言。

Shell编程是通过编写一系列Shell脚本来完成特定任务或自动化操作的过程。

Shell是操作系统的一种命令行接口,用户可以通过Shell来执行各种命令和操作系统功能。

Shell脚本是一种文本文件,其中包含了一系列Shell命令,用于定义要执行的任务和操作。

2. 为什么要学习Linux Shell编程?学习Linux Shell编程有以下几个重要原因:2.1 自动化操作:Shell编程可以帮助我们自动执行各种任务和操作,提高工作效率。

通过编写脚本,可以自动化执行常见的操作,如文件处理、数据备份、软件安装等,节省大量时间和精力。

2.2 系统管理:Shell编程是系统管理的重要工具。

通过编写脚本,我们可以在Linux系统上进行系统配置、用户管理、进程管理等操作,简化管理流程并提高系统安全性。

2.3 学习编程思维:学习Shell编程可以培养编程思维和解决问题的能力。

编写脚本可以帮助我们理解问题,分析和解决问题,并培养逻辑思维和创造性思维。

3. Shell脚本的基本语法和结构3.1 Shebang:Shell脚本的第一行通常是一个Shebang(井号加叹号),用来指定要使用的Shell解释器。

3.2 注释:使用井号()来注释代码,用于解释代码的作用、用途和注记。

3.3 变量:可以使用变量来存储数据,并在脚本中引用。

变量以美元符号()开头,可以是数字、字符或字符串。

可以使用等号(=)进行赋值,如:var="Hello World"。

3.4 输入输出:使用echo命令将文本输出到终端,使用read命令读取用户输入。

3.5 条件语句:使用if-else语句判断条件并执行对应的代码块。

条件可以使用比较运算符(如大于、小于、等于)和逻辑运算符(如与、或、非)进行判断。

linux shell 实验报告

linux shell 实验报告

linux shell 实验报告Linux Shell 实验报告一、引言Linux Shell 是一种命令行解释器,它允许用户与操作系统进行交互。

作为一个开源的操作系统,Linux 提供了多种 Shell,如 Bash、Zsh、Ksh 等,每种 Shell 都有其特点和用途。

本实验旨在通过实际操作,深入了解 Linux Shell 的使用和功能。

二、实验目的1. 熟悉 Linux Shell 的基本概念和操作;2. 掌握 Shell 的常用命令和参数;3. 理解 Shell 脚本的编写和执行过程。

三、实验环境本次实验使用的实验环境为 Ubuntu 20.04 LTS 操作系统,使用默认的 Bash Shell。

四、实验内容1. Shell 基本操作在 Linux 系统中,打开终端即可进入 Shell 环境。

Shell 提供了丰富的命令用于文件操作、系统管理等。

以下是一些常用的 Shell 命令示例:- ls:列出当前目录下的文件和子目录;- cd:切换当前工作目录;- mkdir:创建新目录;- rm:删除文件或目录;- cp:复制文件或目录;- mv:移动文件或目录。

2. Shell 变量和环境变量Shell 变量用于存储数据,可以通过赋值和引用来操作变量。

环境变量是一种特殊的 Shell 变量,用于存储系统环境的信息。

以下是一些常用的变量和环境变量示例:- 变量赋值:name="John";- 变量引用:echo $name;- 环境变量:$HOME、$PATH、$USER。

3. Shell 脚本编写与执行Shell 脚本是一种批处理文件,由一系列命令组成,可以实现自动化操作。

以下是一个简单的 Shell 脚本示例:```shell#!/bin/bashname="John"echo "Hello, $name!"```将上述脚本保存为 `hello.sh`,通过 `chmod +x hello.sh` 命令给予执行权限,然后通过 `./hello.sh` 执行脚本。

实验三-LINUX-SHELL编程

实验三-LINUX-SHELL编程

实验三-LINUX-SHELL编程实验三LINUX SHELL 编程四、实验内容本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术。

内容如下:1、创建以下菜单程序:USER: ****HOST: ********DATE: **/**/20**A:创建子目录并复制文件B:文件权限测试C:文件字符转换D:文件总数及文本行数统计E:文件查找Q: 退出系统A :在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。

测试目录确实存在后,将已存在的 file1、file2 两文件拷入其中并分别显示两文件的内容。

显示完成后将file1、file2两文件截断为大小为0的空文件。

B:测试当前用户对系统中某文件是否有 r、w、x 的权限,输出测试结果。

C:将 file1、file2 两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。

判断上述操作成功后分别显示转换后的新文件的内容。

D:统计/dev 目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。

E:在/dev 目录下查找由 s 开头且文件名由 5 个字符组成的文件,找到后用file 命令显示其文件类型。

#!/bin/bashUSER=WWcHOST=`hostname -s`MYDATE=`date +%d/%m/%y`while :doclearcat << MAYDAYUser:$USER Host:$HOST Date:$MYDATEA:创建子目录并复制文件B:文件权限测试C:文件字符转换D:文件总数及文本行数统计 E:文件查找Q:退出系统MAYDAYecho -n "Please Choose [A,B,C,D,E,Q]"read CHOICEcase $CHOICE inA)echo "A:创建子目录并复制文件"echo "输入要创建的文件名:"read FILEmkdir $FILEchmod 755 $FILEtest -d $FILEif [ $? -eq 0 ]thencp file1 $FILEcp file2 $FILEecho "file1内容"cat file1:>$FILE/file1echo "file2内容"cat file2echo "#:>file2"fiB)echo "B:文件权限测试"echo "请输入要测试的文件绝对路径"read NAME1test -r $NAME1if [ $? -eq 0 ]thenecho "可读"echo "不可读"fitest -w $NAME1if [ $? -eq 0 ]thenecho "可写"elseecho "不可写"fitest -x $NAME1if [ $? -eq 0 ]thenecho "可执行"elseecho "不可执行"fiC)echo "C:文件字符转换"cat file1 | tr "[a-z]" "[A-Z]" >file1.out diff -q file1 file1.outif [ $? -eq 1 ]thenecho "file1.out内容"cat file1.outficat file2 | tr "[a-z]" "[A-Z]" >file2.out diff -q file2 file2.outif [ $? -eq 1 ]thenecho "file2.out内容"cat file2.outfiecho "/dev 目录下目录文件和符号链接文件的数目"find /dev -type d | wc -lfind /dev -type l | wc -lecho "file1空行行数统计"grep ^$ file1 | wc -lecho "显示当前系统中所有环境变量"envE)echo "文件查找"find /dev -name 's????' | xargs fileQ)exit 0echo "请输入ABCDEQ"esacread DDdone2、文件 pc.txt 中保存了三个班级的学生选课成绩,试编写一段 shell 程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。

LINUX-Shell编程实验报告

LINUX-Shell编程实验报告

《LINUX管理与应用》课程实验报告≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡一、实验过程1. 编写一个简单的回显用户名的shell程序2. 使用if-then语句创建简单的shell程序3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序4. 使用for语句创建简单的shell程序5. 使用while语句创建一个计算1-5的平方的shell程序6. 用shell设计一个模拟考勤程序二、实验结果1.编写一个简单的回显用户名的shell程序#vi dat#!/bin/bash#filename:datecho "Mr.$USER,Today is:"echo `date`echo Wish you a lucky day!#chmod +x dat#./dat2. 使用if-then语句创建简单的shell程序#vi bbbb#!/bin/bash#filename:bbbbecho -n "Do you want to continue: Y or N"read ANSWERif [ $ANSWER = N -o $ANSWER = n ]thenecho "your answer is quit!"fi#chmod +x bbbb3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序#vi ak#!/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 $GOOUT#chmod +x ak#./ak4. 使用for语句创建简单的shell程序#vi mm#!/bin/bash#filename:mmfor ab in 1 2 3 4doecho $abdone#chmod +x mm#./mm5. 使用while语句创建一个计算1-5的平方的shell程序#vi zx#!/bin/bash#filename:zxint=1while [ $int -le 5 ]dosq=`expr $int \* $int`echo $sqint=`expr $int + 1`doneecho "Job completed"#chmod +x zx#./zx6. 用shell设计一个模拟考勤程序,实现如下功能选择界面:1:上班签到2:下班签出3:缺勤信息查阅# vi testshell#! /bin/bash#filename:shelltestexsig=0while true; doecho ""echo "----欢迎使用本系统----"echo " 1. 上班签到"echo " 2. 下班签出"echo " 3. 考勤信息查询"echo " 4. 退出系统"echo "----------------------"echo "密码不正确!"elseecho "你的记录:"echo "---------"cat -b /home/user/check.dat|grep $name echo "---------"fi;;4)echo "欢迎你的使用,再见!"exsig=1;;*)echo "请输入合法的选项!";;esacif test "$exsig" = "1"thenbreakfidone七.试验运行结果:#chmod +x testshell#./testshell三、实验分析通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中LINUX 基本命令的使用,理解了Shell程序的设计方法,并且熟悉了Shell程序编辑、运行、调试方法与过程。

LINUX_shell程序编程实验报告

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是最多的它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。

Linux实验报告(实验四)shell编程实验

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编程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负责解释执行该命令并向用户返回结果。

作为编程语言,它利用自身的语言结构将工具命令组合起来提供更复杂的功能。

三、实验环境和总体设计一台2.安装虚拟机版的Linux操作系统四、详细设计步骤1.打开vmware软件,启动Linux系统2.用root用户名和密码登入系统中3.将某目录下面所有的文件名后面加上所有者的名字,如的所有者为owner,修改后为a[owner].txt文件。

基本要求:①使用方法为usage:程序名称目录名称若没有“目录名称”参数,则修改当前目录下文件名称②对目录中的子目录不做变化。

③ 给出实验结果。

五、结果测试与分析1. 进入root模式创建2618文件夹和文件2.编写shell程序3.执行shell程序,遇到权限问题,修改权限,并列出目录下所有文件4.修改权限后再次执行shell程序成功六、存在的问题编写程序时路径出现错误,导致找不到该文件修改前:修改后七、总结。

linux操作系统实验报告-shell简单编程

linux操作系统实验报告-shell简单编程
fi
•3)编写一个Shell程序,使得程序在系统时间分钟值为5的倍数的时,自动备份此目录下的.png文件到backup中(选做)
源代码:
#!/bin/bash
#Program: User can backup the png files every 5 minutes.
#History:2012/11/04 First release
echo "$(($date_dif+1)) day(s) later to your expected date."
elif [ "$date_dif" -lt "0" ];then
echo "Your days is $((-1*$date_dif)) days before."
else
echo "Your expected day is today."
•3)编写一个Shell程序,使得程序在系统时间分钟值为5的倍数的时,自动备份此目录下的.png文件到backup中(选做)
二、实验设计(包括:设计思路,数据结构,程序流程图,关键代码说明)
使用linux虚拟机完成实验要求。
三、实验结果(包括:运行结果,结果分析)
•1)利用Shell编程,实现时间密码的验证
fi
四、实验总结(包括:实验效果分析,心得体会,遗留问题)
很多知识。
教师评语
成绩:教师签名:年月日
注:此表各栏可延伸。
echo "Now is the time $Time"
read -p "Enter the date:" date1
date_test='echo $date1 | grep '[0-9]\{8\}''
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《LINUX管理与应用》课程实验报告
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
一、实验过程
1. 编写一个简单的回显用户名的shell程序
2. 使用if-then语句创建简单的shell程序
3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序
4. 使用for语句创建简单的shell程序
5. 使用while语句创建一个计算1-5的平方的shell程序
6. 用shell设计一个模拟考勤程序
二、实验结果
1.编写一个简单的回显用户名的shell程序
#vi dat
#!/bin/bash
#
echo "Mr.$USER,Today is:"
echo `date`
echo Wish you a lucky day!
#chmod +x dat
#./dat
2. 使用if-then语句创建简单的shell程序
#vi bbbb
#!/bin/bash
#
echo -n "Do you want to continue: Y or N"
read ANSWER
if [ $ANSWER = N -o $ANSWER = n ]
then
echo "your answer is quit!"
fi
#chmod +x bbbb
#./bbbb
3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序
#vi ak
#!/bin/bash
#
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
#chmod +x ak
#./ak
4. 使用for语句创建简单的shell程序
#vi mm
#!/bin/bash
#
for ab in 1 2 3 4
do
echo $ab
done
#chmod +x mm
#./mm
5. 使用while语句创建一个计算1-5的平方的shell程序
#vi zx
#!/bin/bash
#
int=1
while [ $int -le 5 ]
do
sq=`expr $int \* $int`
echo $sq
int=`expr $int + 1`
done
echo "Job completed"
#chmod +x zx
#./zx
6. 用shell设计一个模拟考勤程序,实现如下功能选择界面:
1:上班签到2:下班签出3:缺勤信息查阅
# vi testshell
#! /bin/bash
#
exsig=0
while true; do
echo ""
echo "----欢迎使用本系统----"
echo " 1. 上班签到"
done < /home/user/userinfo.dat
else
echo System Error:userinfo.dat does not exist! fi
if test "$fname" != "$name"
then
echo "不存在该用户!"
elif test "$fpassword" != "$password"
then
echo "密码不正确!"
else
echo "你的记录:"
echo "---------"
cat -b /home/user/check.dat|grep $name
echo "---------"
fi
;;
4)echo "欢迎你的使用,再见!"
exsig=1
;;
*)echo "请输入合法的选项!"
;;
esac
if test "$exsig" = "1"
then
break
fi
done
七.试验运行结果:
#chmod +x testshell
#./testshell
三、实验分析
通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中LINUX 基本命令的使用,理解了Shell程序的设计方法,并且熟悉了Shell程序编辑、运行、调试方法与过程。

这为我日后继续深入学习Linux课程打下基础。

相关文档
最新文档