习题07_Shell编程

上传人:豆浆 文档编号:107171348 上传时间:2022-06-14 格式:DOC 页数:11 大小:308KB
收藏 版权申诉 举报 下载
习题07_Shell编程_第1页
第1页 / 共11页
习题07_Shell编程_第2页
第2页 / 共11页
习题07_Shell编程_第3页
第3页 / 共11页
资源描述:

《习题07_Shell编程》由会员分享,可在线阅读,更多相关《习题07_Shell编程(11页珍藏版)》请在装配图网上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流习题07_Shell编程.精品文档.习题07_Shell编程一、单选1. 下面哪个命令是用来定义shell的全局变量( D )。A. exportfsB. aliasC. exportsD. export2在Shell脚本中,用来读取文件内各个域的内容并将其赋值Shell变量的命令是( D )。A. fold B. joinC. tr D. read3. 当字符串用双引号()括起来时,SHELL将( C )。A. 解释引号内的特殊字符 B. 执行引号中的命令C. 不解释引号内的特殊字符D. 结束进程4. 以下哪个环境变量表示当前路径( B )

2、。A. PATH B. PWDC. HOME D. ROOT5. shell不仅是( 用户命令的解释器 ),它同时也是一种功能强大的编程语言,( bash )是Linux的缺省shell。6. 编写的Shell程序运行前必须赋予该脚本文件( 执行 )权限。7. 对于Shell脚本程序,若输入参数数量多于9个,则程序遍历每个参数可通过使用( shift )命令实现。8. 为脚本程序指定执行权的命令及参数是(chmod a+x filename )。9. 在shell编程时,使用方括号表示测试条件的规则是:方括号两边必有( 空格 )。10. 输入了Shell命令的部分字符后按( tab )键可补全

3、其余部分。11改变命令提示符的环境变量是( PS1 )。11. grep -E Hhenr(y|ietta) file的功能是:(在文件File中查找Henry、henry、Henrietta或 henrietta)。12. 如下为命令终端下的一个截图:则,以下两句的执行结果是:( the home path is $HOME )。path=the home path is $HOMEecho $path 13. 以下为程序名为prog的程序内容。则 sh prog a b c d的执行结果为( C )。set A B C Dshiftshiftecho $1三、简答1. 下面给出了一个SHE

4、LL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。#!/bin/shDIRNAME=ls /root | grep bak#(1)if -z $DIRNAME ; then#(2)mkdir /root/bak ; cd /root/bak#(3)fiYY=date +%y ; MM=date +%m ; DD=date +%d#(4)BACKETC=$YY$MM$DD_etc.tar.gz#(5)tar zcvf $BACKETC /etc#(6)echo fileback finished!答:#(1)获取/root中名称包含bak的文件或目录#(2)判断1结果为空#

5、(3)创建目录/root/bak并进入该目录#(4)获取当前时间的年月日#(5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名#(6)压缩etc目录并保存在/root/bak中 6分程序功能:若/root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。2分2. 什么是位置变量?shell的变量类型有哪些种?答:位置变量是指命令行上传递给程序的参数。Shell变量可以分为:用户自定义变量、环境变量、位置变量、特殊变量3. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。#!/bin/bash #(1)dir=$1 #(2)

6、if -d $dir #(3)then cd $dir #(4) for file in * doif -f $file #(5)then cat $file #(6)echo “end of file $file” fi done elseecho “bad directory name $dir” fi答:#(1)使用/bin/bash解释脚本#(2)将位置变量1赋值给变量dir#(3)如果dir所指为目录#(4)将当前目录改为dir#(5)如果循环变量file所指是普通文件#(6)显示文件file的内容 6分程序功能:若命令行参数是一个合法目录则显示该目录下所有普通文件的内容,否则显示错

7、误的目录名信息。4. 试编写一个SHELL程序,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。答:#!/bin/shread maxmin=$maxsum=$maxi=1while $i lt 100do read xsum=expr $sum + $x if $max lt $x then max=$x fi if $ x lt $min then min=$x fi i=expr $i + 1doneecho sum = $sum ; max = $max min = $min 5.创建一个shell 脚本,它从用户那里接收10个数,并显示已输入的最大的数。参考

8、程序:#! /bin/bashmax=0for(count=1 ; count ; /backup/bak01.txt50 17 * * * tar zcvf backup.tar.gz /data55 17 * * * umount /dev/hdc(3)由超级用户登录,用crontab执行 prgx文件中的内容:rootxxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab。6设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shel

9、l程序fileback存放在/usr/bin目录下。参考答案:(1)编写shell程序fileback:#!/bin/shDIRNAME=ls /root | grep bakif -z $DIRNAME ; thenmkdir /root/bakcd /root/bakfiYY=date +%yMM=date +%mDD=date +%dBACKETC=$YY$MM$DD_etc.tar.gztar zcvf $BACKETC /etcecho fileback finished!(2)编写任务定时器:echo 0 0 1 * * /bin/sh /usr/bin/fileback ; /r

10、oot/etcbakcroncrontab /root/etcbakcron或使用crontab -e 命令添加定时任务:0 1 * * * /bin/sh /usr/bin/fileback7有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做?参考答案:(1)第一种方法:用户应使用crontab e 命令创建crontab文件。格式如下:0 0 * * sun cp r /user/backup /tmp(2)第二种方法:用户先在自己目录下新建文件file,文件内容如下:0 * * sun cp r /user/backup /tmp然后执行

11、crontab file 使生效。8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。参考答案: 建立程序 Pro16如下:#!/bin/shi=1while i -le 50 doif -d /userdata ;thenmkdir -p /userdata/user$ichmod 754 /userdata/user$iecho user$ilet i = i + 1 (或i=$($i1)elsemkdir /userdatamkdir -p /userdata/user$ichmod 754 /userdata/user$iecho user$ilet i = i + 1 (或i=$($i1)fidone

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!