没有合适的资源?快使用搜索试试~ 我知道了~
习题07-Shell编程.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2021-12-02
21:31:41
上传
评论
收藏 348KB PDF 举报
温馨提示
试读
11页
。。。
资源推荐
资源详情
资源评论
习题 07_Shell 编程
一、单选
1. 下面哪个命令是用来定义 shell 的全局变量( D )。
A. exportfs B. alias
C. exports D. export
2.在 Shell 脚本中,用来读取文件内各个域的内容并将其赋值 Shell 变量的命令是( D )。
A. fold B. join
C. tr D. read
3. 当字符串用双引号(’’)括起来时,SHELL 将( C )。
A. 解释引号内的特殊字符 B. 执行引号中的命令
C. 不解释引号内的特殊字符 D. 结束进程
4. 以下哪个环境变量表示当前路径( B )。
A. PATH B. PWD
C. HOME D. ROOT
5. shell 不仅是( 用户命令的解释器 ),它同时也是一种功能强大的编程语言,( bash )是
Linux 的缺省 shell。
6. 编写的 Shell 程序运行前必须赋予该脚本文件( 执行 )权限。
7. 对于 Shell 脚本程序,若输入参数数量多于 9 个,则程序遍历每个参数可通过使用( shift )
命令实现。
8. 为脚本程序指定执行权的命令及参数是( chmod a+x filename )。
9. 在 shell 编程时,使用方括号表示测试条件的规则是:方括号两边必有( 空格 )。
10. 输入了 Shell 命令的部分字符后按( tab )键可补全其余部分。
11.改变命令提示符的环境变量是( PS1 )。
11. grep -E '[Hh]enr(y|ietta)' file 的功能是:(在文件 File 中查找 Henry、henry、Henrietta 或
henrietta)。
12. 如下为命令终端下的一个截图:
则,以下两句的执行结果是:( the home path is $HOME )。
path=‘the home path is $HOME’
echo $path
13. 以下为程序名为 prog 的程序内容。则 sh prog a b c d 的执行结果为( C )。
set A B C D
shift
shift
echo $1
三、简答
1. 下面给出了一个 SHELL 程序,试对其行后有#(n)形式的语句进行解释,并说明程序完
成的功能。
#!/bin/sh
DIRNAME=`ls /root | grep bak` #(1)
if [ -z "$DIRNAME" ] ; then #(2)
mkdir /root/bak ; cd /root/bak #(3)
fi
YY=`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 结果为空
#(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)
if [ -d $dir ] #(3)
then
cd $dir #(4)
for file in *
do
if [-f $file ] #(5)
then
cat $file #(6)
echo “end of file $file”
fi
done
else
echo “bad directory name $dir”
fi
答:#(1)使用/bin/bash 解释脚本
#(2)将位置变量 1 赋值给变量 dir
#(3)如果 dir 所指为目录
#(4)将当前目录改为 dir
#(5)如果循环变量 file 所指是普通文件
#(6)显示文件 file 的内容 6 分
程序功能:若命令行参数是一个合法目录则显示该目录下所有普通文件的内容,否则显示错
误的目录名信息。
4. 试编写一个 SHELL 程序,该程序能接收用户从键盘输入的 100 个整数,然后求出其总和、
最大值及最小值。
答:#!/bin/sh
read max
min=$max
sum=$max
i=1
while [$i –lt 100]
do
read x
sum=`expr $sum + $x`
if [ $max –lt $x ]
then
max=$x
fi
if [ $ x –lt $min ]
then
min=$x
fi
i=`expr $i + 1`
done
echo "sum = $sum ; max = $max min = $min "
5.创建一个 shell 脚本,它从用户那里接收 10 个数,并显示已输入的最大的数。
参考程序:
#! /bin/bash
max=0
for((count=1 ; count <= 10 ; count = count+1))
do
echo -n "Enter number $count : "
read value
if [ $max -lt $value ]
then
max=$value
fi
done
6. 有一普通用户想在每周日凌晨零点零分定期备份/user/backup 到/tmp 目录下,该用户应如
何做?
剩余10页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功