[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc

上传人:progressking105 文档编号:912803 上传时间:2019-02-28 格式:DOC 页数:11 大小:38.50KB
下载 相关 举报
[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc_第1页
第1页 / 共11页
[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc_第2页
第2页 / 共11页
[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc_第3页
第3页 / 共11页
[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc_第4页
第4页 / 共11页
[自考类试卷]全国自考操作系统(Shell程序设计)模拟试卷2及答案与解析.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、全国自考操作系统(Shell 程序设计)模拟试卷 2 及答案与解析一、单项选择题1 一个命令的输出结果作为下一个命令的输入,这种机制称为_。(A)管道(B) Shell 过程(C)输入输出转向(D)控制流2 UNIX 中的一个 Shell 程序相当于一个_。(A)作业(B)进程(C)线程(D)命令3 Shell 的上一命令的返回状态变量是_。(A)$?(B) $(C) $!(D)$-4 设 cmd=who,以下 4 个命令中,执行结果与其他不同的是_。(A)eval $cmd(B) eval $cmd(C) eval $cmdt(D)eval “$cmd“5 比较两个 Shell 串变量最好采

2、用_的形式。(A)test“$ var1“=“$var2“(B) test $ var1=$var2(C) $vat1=$var2(D)$var1-eq$var26 执行一个无限的 Shell 循环时采用_是错误的。(A)while true(B) while1(C) while0(D)while(1)7 在 Shell 程序中,_命令可以处理由信号引起的软中断。(A)signal(B) kill(C) trap(D)break二、填空题8 System V UNIX 有三种主要的 Shell,它们的程序名分 _、_和_。9 使命令的执行结果不在屏幕上显示,而是写到另一个文件中去,这种功能称为

3、_。10 Shell 将命令放在后台执行时的后台命令符是_。11 如果想把一个特殊字符当做普通字符来使用,就应当在每一个特殊字符前用特殊字符_标记它。12 在 Shell 参数变量中,_是命令名。13 从本质上来说,用户定义的 Shell 变量的值都是_。14 设 Var=HOME,以下 4 个命令中,执行结果相同的两个命令是_。echo $ varecho $ var echo$ varecho “$ var“15 用_括起来的命令表在子进程中执行。三、简答题16 写出几种执行 Shell 程序的方法。17 Shell 的 for 语句有哪几种使用方法?四、综合题18 编一个实现对 C 程序

4、和头文件中的字符串搜索的 Shell 程序(Shell 过程)tree_grep,例如:treegrepsh string dir其中 string 为所搜索的字符串,dir 为查找的目录树,其中参数 1 不可省略,参数2 省略时,搜索当前目录。19 编写一个 Shell 程序 finditsh 通过调用递归的 Shell 函数,搜索参数 2 指定的目录树,查找所有的以c 和h 结尾的文件,如文件行中含有参数 1 指定的字符串,显示该行和相应的文件名。如目录参数 2 省略,则从当前目录中搜索。例如:finditsh searchstring homestudent wallg搜索以homest

5、udent wang 为根的目录树中的 C 程序和头文件,查找含有searchstring 字符串的行,显示文件名,例如:finditsh searchstring从当前目录开始搜索。用含有 Shell 特殊字符的字符串模式进一步调试该 SheU 程序。五、判断题20 Shell 就是一个普通用户态下的执行程序。( )(A)正确(B)错误21 利用 IO 转向可以区别程序的标准输出和标准错误输出。( )(A)正确(B)错误22 在 Shell 程序中,$0 是 Shell 程序的位置参数。( )(A)正确(B)错误23 用户可以修改系统定义的 Shell 环境变量。( )(A)正确(B)错误2

6、4 在 Shell 环境中,$LD_LIBRARY_PATH 是连接静态库时的搜索路径。 ( )(A)正确(B)错误25 在 Bourne Shell 中,test 与是同一 Shell 内部程序。 ( )(A)正确(B)错误26 Shell 过程允许递归调用。( )(A)正确(B)错误27 cd 是 Shell 的内部命令。( )(A)正确(B)错误全国自考操作系统(Shell 程序设计)模拟试卷 2 答案与解析一、单项选择题1 【正确答案】 A【知识模块】 Shell 程序设计2 【正确答案】 A【知识模块】 Shell 程序设计3 【正确答案】 A【知识模块】 Shell 程序设计4 【

7、正确答案】 C【试题解析】 在 eval$cmd中,Shell 首先执行 Shell 变量$cmd 值所指示的命令,再用 eval 命令执行该命令的输出结果,该执行很可能出错,因为一个命令的输出一般不是命令,eval 就不能执行它,这与 eval$cmd 等直接执行该命令不同。【知识模块】 Shell 程序设计5 【正确答案】 A【试题解析】 当$var1 或 $var2 中只要有一个 Shell 变量为空,B、C、D 在执行时就会语法出错。【知识模块】 Shell 程序设计6 【正确答案】 D【试题解析】 括号“()” 在 Shell 中解释为在子进程中执行括号中的命令,而 “1”不是可执行

8、的命令。【知识模块】 Shell 程序设计7 【正确答案】 C【知识模块】 Shell 程序设计二、填空题8 【正确答案】 sh、csh、ksh【知识模块】 Shell 程序设计9 【正确答案】 输出重定向【知识模块】 Shell 程序设计10 【正确答案】 &【知识模块】 Shell 程序设计11 【正确答案】 (反斜线)【知识模块】 Shell 程序设计12 【正确答案】 $0【知识模块】 Shell 程序设计13 【正确答案】 字符串【知识模块】 Shell 程序设计14 【正确答案】 (1)(4)【知识模块】 Shell 程序设计15 【正确答案】 圆括号【知识模块】 Shell 程序

9、设计三、简答题16 【正确答案】 例如,有一个文件名为 shellprog 的 Shell 程序,下面是 4 种执行Shell 程序的方法。(1)sh shellprog。即在当前 Shell 下再运行一个子 Shell 程序 sh,该 sh 程序不是从标准输入(键盘) 读入命令串,而是用输入转向从文件 shellprog 中读入命令串,并解释执行命令。(2)shshellprog。与大多数 UNIX 命令(如 cat)一样,sh 程序也可从参数中接收文件名shellprog,并从这个文件中读入命令串。使用以上两种形式执行 Shell 程序时还可带有调试参数,如:sh -v Shell_pro

10、gram Shell 将显示它读入的每一个命令行。sh -x Shell_program Shell 将显示它执行的每一个命令(显示行的行首用“+标志)和变量的取值。sh -u Shell_program 显示引用了未设置变量的错误。(3)cat shellprog|sh。将 shellprog 中的命令行通过管道传给 sh 执行。(4)增加执行许可位。如果认为对经常要执行的命令文件,用上述几个方法运行不太方便,那么可采用如下的步骤。为命令文件建立执行许可:chmod a+x shellprog。以后任何时候要执行该命令文件,直接输入 shellprog 即可。【知识模块】 Shell 程序设

11、计17 【正确答案】 for 语句的最基本的使用是罗列,其语句格式是:for 变量in值表do命令组done(1)罗列:for 语句执行时,依次用 in 后面值表的每一项对变量赋值,再执行 do 和done 之间的命令组,直至值表中的所有值都取过一次为止。(2)命令行位置参数:for 变量 in$*如果 for 语句的 in 部分省略,值表默认值为调用该 Shell 过程的参数表,即变量依次取 Shell 位置参数变量的值各一次。(3)目录中文件名,即变量依次取指定目录(默认为工作目录)中的各个目标,并执行循环体中的语句。例如:for 变量 in*for 变量 in doc*c。【知识模块】

12、Shell 程序设计四、综合题18 【正确答案】 在程序清单 21-1 的 tree_grepsh 中,grep 的参数-H 表示打印匹配的文件名,-n 表打印匹配文件行的行号。程序清单 21-1:tree_grepsh#!binshif test $#=eq 1thenfind-name*ch-exec grep-Hn$1;elsefind$2-namek*ch-exec grep-Hn$1;fi。【知识模块】 Shell 程序设计19 【正确答案】 程序清单 21-3 的 finditsh 通过调用递归函数 findit_rue 实现搜索功能。程序清单 21-3:finditsh#!bin

13、shfindit_fuc()for item in*;do 对当前目录中的每一项if-d$item; then #如是目录( #在子进程中执行path_dir=$path_dir$itemcd$item #退出子进程后,能回到原先目录findit fuc 递归执行函数)eisegrep $filter_str_$itemdevnull 2dev null #先获得查找状态if$?-eq 0;then#查找到字符串echo-n“In$pathdir dir:“ #显示目录grep-Hn$filter_str$item #显示文件名与行号fifidoneif$I-eq0;then 无字符串参数ec

14、ho usage:$0 string direxitfiif$#-ge2;thenpath dir=$2elsepath_dir=$PWD #当前目录作为查找目录fifilter_str=$1cd$path_dirfindit_fuc。【知识模块】 Shell 程序设计五、判断题20 【正确答案】 A【试题解析】 Shell 不是 UNIX 的核心程序,也不是特权程序,它是用户与应用层的界面。不同的组织开发了不同的 Shell,用卢自己也可开发简易版本的 Shell 或功能更强的 Shell,所以说, Shell 就是一个普通的执行程序。【知识模块】 Shell 程序设计21 【正确答案】 A

15、【试题解析】 程序的标准输出可以通过 IO 转向符“”重定向到一个文件,而标准错误输出则不会重定向到一个文件,而是仍输出到屏幕。【知识模块】 Shell 程序设计22 【正确答案】 B【试题解析】 $0 是运行程序名。【知识模块】 Shell 程序设计23 【正确答案】 A【知识模块】 Shell 程序设计24 【正确答案】 B【试题解析】 是连接动态库时的搜索路径,静态库在编译程序时已连接到了程序中,在运行时不能再连接。【知识模块】 Shell 程序设计25 【正确答案】 A【知识模块】 Shell 程序设计26 【正确答案】 A【知识模块】 Shell 程序设计27 【正确答案】 A【知识模块】 Shell 程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1