LinuShell程序设计实验
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 shell 简单程序设计二、实验内容1、变量引用。
在用户主目录下运行如下命令$dir_1=/11/22$echo $dir_1$echo dir_12、数组。
在用户主目录下运行如下命令$city[0]=Beijing$city[1]=Shanghai$city[2]=Tianjin显示city的第二个元素的值$A=(this is an example of shell script)(1)同时显示数组A的第2、4、6个元素的值。
(2)显示所有数组元素的值3、完成书上P106-107中关于read命令的使用的例子。
4、完成书上p108-110例4.7-例4.9三、实验步骤1.输入命令:$dir_1=/11/22$echo $dir_1$echo dir_12.输入命令:$city[0]=Beijing$city[1]=Shanghai$city[2]=Tianjin$echo ${city[2]}$A=(this is an example of shell script)$echo ${A[2]} ${A[4]} ${A[6]}$echo ${A[8]}3.输入命令:$read x y zToday is Monday$echo $z $x $y$read n1 n2 n3First Second Third 1234 abcd$echo $n3$echo $n2 $n1Read n1 n2 n31 2$echo $n3$echo $n1 $n24.4-7:$touch m1.c$vi m1.c按”i”输入:main(){printf(“Begin\n”);}按“Esc”输入“:wq”$cat m1.c$touch m2.c$vi m2.c按”i”输入:main(){printf(“OK!\n”);printf(“End\n”);}按“Esc”输入“:wq”$cat m2.c$touch ex6$vi ex6按”i”输入:#ex6:shell script to combine files and count linescat $1 $2 $3 $4 $5b $6 $7 $8 $9|wc –l#end按“Esc”输入“:wq”$cat ex6$chmod a+x ex6$PATH=$PATH:.$ex6 m1.c m2.c4-8 $touch ex7Vi ex7i#!/bin/bash#ex7:shell script to combine filesand count lines#using command set to set positional paramtersSet m1.c m2.cCat $1 $2 $3|wc -l#end$cat ex7$chmod a+x ex7$PATH=$PATH:.$ex74-9 $touch ex8Vi ex8i#!/bin/bash#ex8:shell script to demonstrate the shift commandEcho $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9ShiftEcho $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9Shift 4Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9#end$cat ex8$chmod a+x ex8$PATH=$PATH:.$ ex8四、实验总结通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL 程序中LINUX基本命令的使用,理解了SHELL程序的设计方法,并且熟悉了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实验作业参考1.编写一个Shell脚本,实现输入一个数字,输出该数字的阶乘。
思路:使用for循环,从1到输入的数字进行累乘,最终输出结果。
#!/bin/bashecho "请输入一个数字:"read numfact=1for ((i=1;i<=$num;i++))dofact=$(($fact*$i))doneecho "阶乘为:$fact"2. 编写一个Shell脚本,实现输入一个目录,输出该目录下所有文件名和文件大小。
#!/bin/bash# 获取目录路径read -p "请输入目录路径:" dir_path# 判断目录是否存在if [ ! -d "$dir_path" ]; thenecho "目录不存在!"exit 1fi# 遍历目录下所有文件for file in "$dir_path"/*do# 判断是否是文件if [ -f "$file" ]; then# 获取文件名和大小file_name=$(basename "$file")file_size=$(du -h "$file" | awk '{print $1}')echo "$file_name : $file_size"fidone使用方法:➢将以上代码保存为一个.sh文件,例如:`list_files.sh`➢给该文件添加执行权限:`chmod +x list_files.sh`➢在终端中运行该脚本:`./list_files.sh`,然后输入目录路径即可。
3. 编写一个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程序设计 (pro)
实验七 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个数,然后换行显示。
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命令统计匹配行的数量。
《Linux系统管理》Shell程序设计实验报告
《Linux系统管理》Shell程序设计实验报告(3)编写一个shell脚本,利用位置参数携带一个文件名,判断该文件在当前目录下是否存在且是一个普通文件。
(4)编写一个shell脚本,输入10-30之间的一个数,并判断它是否小于25。
(5)利用case条件语句编写一个shell脚本,提示用户输入一个字符,判断该字符是字母、数字或特殊字符。
(6)编写一个shell脚本,根据键盘可以循环输入学生成绩(百分制),并显示对应的成绩标准(及格和不及格),按“q”键退出,按其他键提示重新输入。
(7)编写一个shell脚本,利用for循环把当前目录下的所有指定的文件复制到指定的目录中,并显示复制后该目录内按文件大小排序的目录文件清单。
编写shell脚本,第一个位置参数为指定的目录,其后指定的位置参数为第一个位置参数指定目录下的文件,显示这些文件的内容。
(8)编写一个shell脚本,完成课本P189页第9题。
(9)编写一个shell脚本,完成课本P189页第10题。
三、实验过程:1.创建简单shell脚本(1)2.shell的输入输出重定向(1)(2)(3)(4)(5)(6)3.用shell语言编制shell程序(1)4.shell变量操作(1)(2)(3)(4)(5)(6)(7)5.shell程序控制结构(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)四、实验总结:(实验中遇到的问题及解决方法,心得体会等)本次实验了解和创建并使用脚本的步骤掌握shell的变量及特殊字符掌握shell的输入输出命令掌握常用shell程序逻辑结构语句。
会创建一个简单的列出目录和日期,会用shell语言编制shell 程序,掌握了一些复杂的命令。
通过这节课实验发现对于shell变量的类型使用,以及相关用户下的具体操作不够明确,Shell是Linux系统中的用户与系统交互的接口,可编程、作为命令解释器;Shell脚本的建立同普通文本文件建立相同,利用vi活cat命令进行操作;且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程序。
实验六、Linux下的SHELL编程实验
实验三、Linux下的SHELL编程实验【实验课时】2课时【实验目的】1、了解和熟悉创建并使用脚本的步骤。
2、熟悉bash的控制结构。
3、学会简单的shell编程。
【实验内容】1、创建一个简单的列目录和日期的shell 脚本并运行之。
步骤:⑴输入下列命令,创建一个新文件:cat >new_script⑵输入下列行:echo “Your files are”lsecho “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”。
程序运行过程如下:4、修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。
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编程一.实验名称:考勤模拟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编程实验报告
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程序设计
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的所有数。