实验二shell及shell编程

实验二shell及shell编程

ID:47336347

大小:54.50 KB

页数:5页

时间:2019-08-14

实验二shell及shell编程_第1页
实验二shell及shell编程_第2页
实验二shell及shell编程_第3页
实验二shell及shell编程_第4页
实验二shell及shell编程_第5页
资源描述:

《实验二shell及shell编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二: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替换成

2、SystemManager并输出到ofilesed-e's/sysman/SystemManager/g'ofile(2)显示ifile文件中的所有注释行#sed-e'/^#/!d']*$/d'ofile#注:tab为tab键,可用t表示,为空格键。②也可写为:sed'/^$/d;/^[]*$/d'ofile或写为s

3、ed'/^$/d;/^[[:blank:]]*$/d'ofile或写为sed'/^$/d;/^[[:space:]]*$/d'ofile③如果脚本命令较多,也可将整个脚本内容写入文件(比如e_script)中,此时命令的执行可如下进行:sed–fe_scriptofile2)awk命令的使用(1)显示系统内root的进程,它们是什么,进程号是多少ps-ef

4、awk'/root/{print$1,$2,$8}'(2)显示系统所非root用户在干什么,他们是谁?ps-ef

5、awk'!/root/{print$1,$8}'(3)使用awk

6、计算文件infile内数字的和。awk'{sum+=$1};END{printsum}'ifile注:假设infile内容为数字串,且每个数字串占一行。(4)显示系统内已经注册(创建)的所有用户(显示/etc/passwd内的所有用户)awk-F:'{print$1}'/etc/passwd#-F:指定域分隔符为“:”3)shell编程(1)设计一个程序,带一个(目录)参数。实现功能:(1)首先判断是否带有参数,若无则显示用法信息后,报错返回;(2)带首先判断该参数是不是目录。若是则列目录的内容,否则,提示用户不是目录,则显示警告信息后报错返回。#!/bin/shif[$#

7、-ne1]#checkifhave1parameterthenecho"Usage:$0dir"#DiaplayUsageexit1#return1fiif[-d"$1"]#ifisadir;thenls$1/*;exit0#listthedir,andreturn0fiecho"Warn:$1isnotadirectory"#Warningmessageexit2#return2注:输入时可不输入注释部分。设此程序名为myls,为其增加执行权后,运行方法为:./myls#返回码为1./mylsdir#如果dir是个目录,则列其内容./mylsfile#若file是文件或不

8、存在则给出警告后返回2(2)用嵌套式if-fi语句实现(1):#!/bin/shif[$#-ne1]#checkifhave1parameterthenecho"Usage:$0dir"#DiaplayUsageexit1#return1elif[-d"$1"]#ifisadirthenls$1/*;exit0#listthedir,andreturn0elseecho"Warn:$1isnotadirectory"#Warningmessageexit2#return2fi(3)设计一个程序,从命令行接收数值参数,并计算这些参数的和。x=0foryin$*dox=`exp

9、r$x+$y`doneecho"TheSumis:$x"注:设程序名为myadd,增加执行权后,运行方法为:myadd203510060但是,本程序是有问题的,原因是它没有判断输入数据的合法性。下面是一个增加输入数据合法性检查的程序。x=0foryin$*doz=`echo$y

10、awk'/^[[:digit:]]*$/{print$0}'`if[-z$z];thenecho-e"Invalidcommandlineparameter:$ya";exit1fix=`expr$x+$y`doneecho"TheSum

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。