shell 编程 实验报告 西安邮电大学

合集下载

操作系统实验报告shell程序

操作系统实验报告shell程序
if(c == '\n') {
buf[i-1] = '\0';
return i;
}
}return i;
}
void init_environ()
{
int fd,n;
char buf[80];
if((fd = open("ysh_profile",O_RDONLY,660)) == -1) {
printf("init environ variable error!\n");
j++;
}
for(i = 0;i <= envhis.end;i++){
printf("%d\t%s\n",j,envhis.his_cmd[i]);
j++;
}
}
}
void cd_cmd(char * route)
{
if(route != NULL) {
if(chdir(route) < 0)
printf("cd;%s Error file or directory!\n",route);
strcpy(p -> state,input_cmd);
strcpy(p -> state,"running");
p -> link = NULL;
if(head == NULL) {
head = p;
end = p;
} else {
end -> link = p;
end = p;
}
}
void del_node(int sig,siginfo_t * sip)

Shell编程实验报告.doc

Shell编程实验报告.doc

Shell编程实验报告【实验目的】1、了解和熟悉创建并使用脚本的步骤。

2、熟悉bash的控制结构。

3、学会简单的shell编程。

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

步骤:⑴输入下列命令,创建一个新文件:cat>new_script⑵输入下列行:echo“Yourfilesare”lsecho“todayis”date按回车键将光标移到一个新行,按Ctrl+D键保存并退出。

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

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

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

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

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

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

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

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

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

程序运行过程如下:4、修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Notmatch”,最后显示“Endofprogram”。

请使用if…then…else控制结构。

10.25 shell编程(一)

10.25 shell编程(一)
签名:
日期:年月日
成绩
《shell编程(一)》实验报告
实验序号:7实验项目名称:shell编程(一)
一、实验目的及要求
掌握shell编程(一)
二、实验设备(环境)及要求
硬件:PC(P 以上,128M以上内存)、因特网接入;
软件:Windows XP操作系统、Office2003、多媒体播放软件。
三、实验内容与步骤
四、实验结果与数据处理
(1)找出后缀名为.txt文件并输出总个数
(2)判断当前用户不为root
(3)输出用户输入的两个数字
(4)计算并输出用户输入的两个数字相乘结果
五、分析与讨论
六、教师评语
1.按时完成实验;
2.实验内容和实验过程记录完整;
3.得或讨论;
5.实验报告的撰写认真、报告格式符合要求。

shell系统实验报告

shell系统实验报告

shell系统实验报告《Shell系统实验报告》摘要:本实验通过对shell系统的学习和实践,对shell脚本编程进行了深入的研究和探讨。

通过实验,我们深入了解了shell系统的基本概念、语法和功能,并通过实际编程实践加深了对shell脚本的理解和掌握。

本实验报告将对实验过程、实验结果和实验感想进行详细的介绍和分析。

一、实验目的通过本次实验,我们的主要目的是深入了解shell系统的基本概念和语法,掌握shell脚本编程的基本方法和技巧,提高对Linux系统的操作和管理能力。

二、实验过程1. 学习shell系统的基本概念和语法规则;2. 编写简单的shell脚本,包括文件操作、流程控制、函数定义等;3. 运行和调试编写的shell脚本,检验脚本的正确性和可靠性;4. 分析实验结果,总结实验感想。

三、实验结果通过本次实验,我们深入了解了shell系统的基本概念和语法规则,掌握了shell 脚本编程的基本方法和技巧。

我们成功编写了一些简单的shell脚本,包括文件操作、流程控制、函数定义等,通过运行和调试这些脚本,我们验证了它们的正确性和可靠性。

实验结果表明,我们对shell系统有了更深入的认识和理解,对Linux系统的操作和管理能力得到了提高。

四、实验感想通过本次实验,我们对shell系统有了更深入的认识和理解,对Linux系统的操作和管理能力得到了提高。

我们深刻体会到了shell脚本编程的重要性和实用性,相信在今后的工作和学习中,我们会更加熟练地运用shell系统,提高工作效率和解决实际问题。

同时,我们也意识到了自己在shell系统方面的不足之处,今后需要进一步学习和实践,不断提高自己的技能水平。

综上所述,本次实验对我们的学习和成长都具有重要意义,我们将继续努力学习和提高自己,在shell系统和Linux系统方面取得更大的进步和成就。

shell命令解释器实验报告

shell命令解释器实验报告

实验报告实验名称:实现一个shell命令解释器学员:学号:年级:专业:所属学院:计算机学院指导教员:职称:实验室:实验日期:目录1.功能描述 (3)2.主要数据结构 (3)3.主要程序流程图 (4)4.主要功能实现方法和系统调用 (4)4.1初始化环境 (4)4.2打印提示符,获取用户输入 (5)4.3解析命令 (5)4.4执行命令 (5)4.4.1内部命令 (5)4.4.2外部命令 (5)4.4.3重定向功能 (6)4.4.4管道功能 (6)5.测试结果 (7)6.心得体会 (10)1.功能描述本实验完成了一个shell命令解释器,实现了shell的解释命令功能,实现了内部命令(包括自定义命令)、外部命令、重定向功能和多管道等功能。

具体功能描述如下:1)内部命令:●可以使用常用的如cd、echo、history、exit等命令●自定义命令1)smile命令:打印出笑脸2)myinfo命令:打印出作者信息和版本信息2)外部命令:可实现cp、rm等所有外部命令。

3)重定向:通过输入重定向符号’<’ 或输出重定向’>’ ,把一行命令分成两部分,前者为需要执行的命令,后者为一个重定向文件。

输入重定向是把文件内容作为输入传到前面的命令中,而输出重定向则是把命令的结果传入重定向文件中。

4)管道:通过管道符号’|’ 把一条命令分成两部分,前一部分命令运行后,将结果放入管道,后一部分命令从管道中取出该结果,作为输入继续执行。

最多可以实现10个管道。

2.主要数据结构本程序主要使用字符数组进行命令、路径的存储与分析。

3.主要程序流程图命令的分析执行过程包括:初始化环境,打印提示符,获取用户输入命令,解析命令,寻找命令文件和执行命令,如图1。

图1程序设计流程图4.主要功能实现方法和系统调用下面将详细说明本shell解释器的实现原理和所用到的系统调用。

总结起来用到的系统调用主要有:Open();close();dup();pipe();execv();chdir();getcwd();如何使用这些系统调用实现shell的各项功能,下面将详细说明。

shell命令总结实验报告

shell命令总结实验报告

shell命令总结实验报告shell 命令总结第⼀章实验思路1 运⾏环境VMware软件、CentOS 7、MobaXterm第⼆章实验⽬的1 掌握Linux的使⽤。

2 掌握shell常⽤命令。

3 掌握MobaXterm软件的使⽤第三章实验步骤Shell:多任务多⽤户系统3.1 终端物理终端:直接连接到的是键盘、⿏标 /dev/console虚拟终端:(/dev/tty)基于物理终端,以软件形式实现的登录⽅式,以ctrl+alt+Fn[1-6],centos 7模拟终端:(/dev/pts/)基于物理终端,以软件形式实现的登陆⽅式,通过ssh、telent远程登录的、(可以有很多个,⽆穷多个),在图形界⾯打开的命令⾏3.1.1 终端交互式接⼝GUI:图形界⾯,GNOME,KDE, XFCECLI: 命令⾏,shell3.2 shell 应⽤程序/bin/sh/bin/bash ⽐较常⽤shell,跟随⽤户启动的独⽴程序/usr/bin/sh/usr/bin/bash/bin/tcsh/bin/csh3.3 命令提⽰符#:管理员使⽤的命令提⽰符$: 普通⽤户使⽤的命令提⽰符3.4 命令3.4.1 shell 内嵌命令,执⾏效率⾼,常驻内存shell外部命令,根据需要执⾏which whereis 查找外部命令的位置3.4.2 帮助⽂档help,主要针对内嵌man(manual),主要针对外部命令3.4.3 主要命令1. echo $SHELL 查看当前使⽤的shell程序,当系统登录shell时默认使⽤的是/bin/bash2. exit 退出当前shell3. cat /etc/shells查看设备安装的所有shell程序4. pstree 查看进程树5. tty 查看登录⽅式 TTY查看登陆⽅式,tty1说明是在终端上登陆的。

pts说明是远程登陆的,0说明为从Window上登陆的。

6. type 查看是内部命令还是外部命令如下,查看cd 和ls命令7.enable -a 查看所有内嵌命令8. which 查看外部命令位置(以及帮助信息)9. whereis 查看外部命令位置10. man 查看外部命令使⽤说明,如man ls(ls 为外部命令)11. help 查看内部命令的使⽤说明,如help cd( cd 为内部命令),当⽤help查看ls这个外部命令时,是查询不出来的12. whatis 查看和更新数据库信息(帮助⽂档)1. ctrl+c 终⽌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语句判断条件并执行对应的代码块。

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

实验八 Shell编程

实验八Shell编程
一、实验题目:Shell编程
二、实验内容:(1)Shell脚本的运行方法;(2)Shell脚本的基本语法;(3)Shell编程的控制结构
三、实验目的:(1)理解Shell脚本的作用;(2)掌握Shell脚本的基本语法,包括变量的运算、逻辑判断表达式等;(3)掌握Shell编程的控制结构,包括分支结构、循环结构等。

四、请做下列题目,并截图:
(1)简单的编写一个脚本,打印“hello Shell”,并运行。

(2)要求用户输入一个目录,然后进行判断此目录下的文件哪些是具有读权限的?如果是,显示该文件的详细信息。

(3)输入一个成绩值,判定该成绩的等级
(4)任意输入5个数值,求其总值,要求输入数值大于5个时,使用break退出循环.。

实验4 shell 程序设计 实验报告

实验4 shell 程序设计1.采用shell编程语言(类似C语言),完成(1)请用C语言编写程序,将1-100之间能被3或7整除的数显示出来.实验结果:student@linux-suse:~> ./homework1.sh3 6 7 9 12 14 15 18 21 24 2728 30 33 35 36 39 42 45 48 49 5154 56 57 60 63 66 69 70 72 75 7778 81 84 87 90 91 93 96 98 99end!程序代码:for ((i = 1; i <= 100; i++))doj=$[$i % 3]if test $j -eq 0thenecho -n $iecho -n " "elsej=$[$i % 7]if test $j -eq 0thenecho -n $iecho -n " "fifidoneecho "end!"(2)请用C语言编写程序,从键盘输入年号,屏幕显示是不是闰年,若是闰年则显不“YES!”否则显示“NO!”。

实验结果:student@linux-suse:~> ./homework2.sh清输入年份2012yes!student@linux-suse:~> ./homework2.sh清输入年份1995no!程序代码:echo "清输入年份read yeari=$[$year % 4]if test $i -eq 0thenecho "yes!"elsej=$[$year % 100]if test $j -eq 0thenecho "yes!"elsek=$[$year % 400]if test $k -eq 0thenecho "yes!"elseecho "no!"fififi(3)请用C语言编写程序,将从键盘录入的10个任意数,由低向高排序后显示。

实验一shell实验报告

实验1: SHELL编程实验目的熟悉linux常用命令,为以后的实验打下良好基础;熟悉vi编辑器的使用;了解Shell程序的语法规则,能编写简单的Shell程序。

实验内容1、使用常用的Linux命令,主要包括如下命令:date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等;2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。

3、使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类似的功能,当输入:$mycal [月份名] 年时,屏幕输出指定的年月的月历。

例如:$mycal October 2009屏幕输出2009年10月的月历。

注:参数可以是英文或者是数字。

实验结果1、2、3、实验2:观察Linux的行为实验目的了解Linux proc文件系统;加深对Linux系统的理解;增强Linux系统管理知识。

实验内容在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。

proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。

1、以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时查看每个文件的读写权限。

2、根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当前时刻所经过的时间、当前内存状态。

实验结果1、2、Cpu类型和型号:当前linux版本:启动时间:内存情况:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Shell编程
实验报告
题目shell编程班级网络1001 学号04102007 姓名冯思雨
专业网络工程
一.实验目的
1.了解shell的作用和主要分类.
2.掌握bash的建立和执行方式.
3.掌握bash的基本语法.
4.学会编写shell脚本.
二.实验内容
1.shell脚本的建立和执行。

2.历史命令和别名定义.
3.shell变量和位置参数、环境变量。

4.bash的特殊字符。

5.一般控制结构。

6.算术运算及bash函数。

三.主要实验步骤
1.利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用
命令。

然后以不同方式执行该脚本
2.运行history命令,配置历史命令环境。

3.体会bash的命令补齐功能。

4.体会alias定义别名,然后执行。

5.对思考题4.8进行编辑,然后执行。

6.对思考题4.14进行编辑,然后执行。

7.对思考题4.18进行编辑,然后执行。

8.运行例4.20.如取消其中的“eval”,会出现什么情况?。

相关文档
最新文档