




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二:shell及shell编程1、实验目的1)sed的使用;2)awk的应用;3)shell及shell编程;4) 与用户启动相关的文件及使用。2、实现设备一台装有Windows操作系统和Linux机系统的微机或服务器。3、实验方法与注意事项1)由于是以root用户工作的,权力很大,请不要在系统内做对系统或对其他用户不安全的事情。2)要求每个同学登录后系统后,要在自己的家目录内容以自己(汉语拼音)名字,使用mkdir命令创建一个子目录。以后所有工作都要在自己的目录内进行。3)认真编写实验报告4、实验过程1) sed命令的使用:(1) 将ifile文件中的所有sysman替换成System Manager并输出到ofilesed -e s/sysman/System Manager/g ofile(2) 显示ifile文件中的所有注释行#sed -e /#/!d ifile#参见不执行某命令!function(3) 删除文件ifile中的空行,并将其它的内容输出到ofile:方法#sed /$/d/*$/d ofile#注:tab为tab键,可用t表示,为空格键。也可写为:sed /$/d;/*$/d ofile或写为sed /$/d;/:blank:*$/d ofile或写为sed /$/d;/:space:*$/d ofile如果脚本命令较多,也可将整个脚本内容写入文件(比如e_script)中,此时命令的执行可如下进行:sed f e_script ofile2) awk命令的使用(1) 显示系统内root的进程,它们是什么,进程号是多少ps -ef | awk /root/ print $1, $2, $8 (2) 显示系统所非root用户在干什么,他们是谁?ps -ef | awk !/root/ print $1, $8 (3) 使用awk计算文件infile内数字的和。awk sum += $1 ; END print sum ifile注:假设infile内容为数字串,且每个数字串占一行。(4) 显示系统内已经注册(创建)的所有用户(显示/etc/passwd内的所有用户)awk -F: print $1 /etc/passwd #-F:指定域分隔符为“:”3)shell编程(1) 设计一个程序,带一个(目录)参数。实现功能:(1)首先判断是否带有参数,若无则显示用法信息后,报错返回;(2)带首先判断该参数是不是目录。若是则列目录的内容,否则,提示用户不是目录,则显示警告信息后报错返回。#!/bin/shif $# -ne 1 #check if have 1 parameterthenecho Usage: $0 dir#Diaplay Usageexit 1#return 1fiif -d $1 #if is a dir;thenls $1/*; exit 0#list the dir,and return 0fiecho Warn: $1 is not a directory #Warning messageexit 2#return 2注:输入时可不输入注释部分。设此程序名为myls,为其增加执行权后,运行方法为:./myls#返回码为1./myls dir#如果dir是个目录,则列其内容./myls file#若file是文件或不存在则给出警告后返回2(2) 用嵌套式if-fi语句实现(1):#!/bin/shif $# -ne 1 #check if have 1 parameterthenecho Usage: $0 dir#Diaplay Usageexit 1#return 1elif -d $1 #if is a dirthenls $1/*; exit 0#list the dir,and return 0elseecho Warn: $1 is not a directory #Warning messageexit 2#return 2fi(3) 设计一个程序,从命令行接收数值参数,并计算这些参数的和。x=0for y in $*dox=expr $x + $ydoneecho The Sum is: $x注:设程序名为myadd,增加执行权后,运行方法为:myadd 20 35 100 60但是,本程序是有问题的,原因是它没有判断输入数据的合法性。下面是一个增加输入数据合法性检查的程序。x=0for y in $*doz=echo $y | awk /:digit:*$/ print $0 if -z $z ; thenecho -e Invalid command line parameter: $ya; exit 1fix=expr $x + $ydoneecho The Sum is: $x(4) 设计一个程序,计算前n个正整数的和:x=0; y=1while truedox=expr $x + $yy=expr $y + 1if $y -gt $1 ; then break; fidoneecho 1+2+.+$1=$x注:此程序要带有1个参数作为整数n,以计算前n个正整数的和。设程序名为myadd1,则运行方法是:myadd1 10或myadd1 100等。(5)here文档#!/bin/shcmd=uname -s; name=whoamicat !My name is $name, I am a student.I study computer, and now I have an exam of $cmd OS.!4) 与用户登录相关文件.bash_history#历史文件.bash_logout#用户注销时要执行的文件.bash_profile#用户登录时要执行的文件.bashrc#用户登录时要执行的文件,由.bash_profile调用/etc/bashrc#用户登录时要执行的文件,由.bashrc调用/etc/profile#用户登录时要执行的文件,由/etc/bashrc调用/etc/profile.d/*#用户登录时要执行的文件,由/etc/profile调用用户可以根据需要修改,它们的内容。以下为一个菜单程序(可取名为sh_add),可将它加在用户.bash_profile的最后,当用户登录时,若成功则直接执行此程序而进入菜单控制,当用户退出菜单时直接注销自己,回到login登录界面。trap 1 2 3 15#trap the signal 1,2,3,15func1( )echo -e nntttThist is Function 2 Demontration!echo -ettt1111111111111111111111111111111!func2( ) echo -e nntttThist is Function 2 Demontration!echo -e ttt2222222222222222222222222222222!while truedoclearecho -en t+-+nt| |nt| 1.func1 2.func2 q.quit |nt| |nt+-+ntttPlease get Select 1,2 or q:read xcase $x in1)func1;2)func2;s|S)trap 1 2 3 15break;Q|q)exit 0;*)echo -e a;esacecho -en ntttPress Enter Key to Contiune:read x; cleardone注意:应$HOME/.bash_profile的最后加入一行:. sh_add让该程序在当前shell内运行。当此文件放在$HOME/.bash_profile内后,X-Windows将无法正常启动。注释掉此命令所在行后可恢复X-Windows正常启动。也可以通过在以上代码中的while true加入根据终端号进行判断办法来实现:具体做是当用户在/dev/tty1/dev/tty12是使用本程序时执行while true语句段,否则跳过while
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 角塑基础知识培训课件书
- 福建省泉州市南安第一中学2024-2025学年高二下学期期末考试物理试题(原卷版)
- 自考专业(国贸)测试卷及答案详解【历年真题】
- 四川省泸州市泸县第五中学2025-2026学年高三上学期开学物理试题(原卷版)
- 自考专业(建筑工程)题库试题及参考答案详解【典型题】
- 综合解析人教版8年级数学上册《整式的乘法与因式分解》同步测评试题(含详解)
- 中级银行从业资格之中级银行业法律法规与综合能力能力检测试卷及答案详解【名校卷】
- 视力防控安全知识培训总结课件
- 第三节 快与慢说课稿-2025-2026学年初中物理沪科版八年级全一册-沪科版2012
- 1.4 地形图的判读-等高线图的判读 微课说课稿-2023-2024学年七年级地理上学期人教版
- 2025至2030中国电容膜片真空计行业发展趋势分析与未来投资战略咨询研究报告
- 社工儿童沟通技巧课件
- 物业追缴奖励方案(3篇)
- 2025年甘肃省高考物理试卷(含答案)
- 2025二年级语文下册期末统考测试卷汇-总
- 血管活性药物静脉输注护理
- 造林绿化落地上图技术规范(试行)
- 2025年浙江省杭州市西湖区九年级中考一模科学试卷
- 苯乙酮项目可行性研究报告
- T/CIE 166-2023企业级固态硬盘测试规范第2部分:性能测试
- 2025年智慧城市产业园区开发建设社会稳定风险评估与风险防范对策报告
评论
0/150
提交评论