发布时间 : 星期二 文章Linux张同光版课后习题答案更新完毕开始阅读
加该符号。
(5)Shell中函数实际上是由(若干条shell命令)组成的。
2.选择题
(1)RPM是由(B)公司开发的软件包安装和管理程序。
A:Microsoft
B:Red Hat
C:IBM D:DELL
(2)使用rpm命令安装软件包时,所用的选项是(A)。
A:-i
B:-e
C:-U
D:-q
(3)Shell中的测试命令是(B)。
A:testparm
B:test C:read D:man
(4)test测试的标准方法是(A)。
A:[ test测试 ]
B:[test测试 ] C:[ test测试] D:[test测试]
(5)bash提供了简单的整数算术运算,格式是(D)。
A:[表达式]
B:![表达式] C:?[表达式] D:$[表达式]
(6)可以使用(C)命令对Shell变量进行算术运算。
A:readonly B:export C:expr D:read
(7)在Shell程序中,要访问命令行第9个参数之后的参数,就必须使用()命令。
A:export 3.思考题
(1)软件包可以使用哪些命名方式?
? 经典的命名格式: 软件名-版本号-释出号.体系号.rpm
? URL方式的命名格式:
1FTP方式的命名格式 ftp://[用户名[:密码]@]主机[:端口]/包文件 ○
2http方式的命名格式 http://主机[:端口]/包文件 ○
? 其他格式
(2)rpm和yum命令的异同点?
rpm 只能安装已经下载到本地机器上的rpm包。
yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的
9
B:shift C:expr D:read
(3)执行Shell程序的3种方法?
方法1的格式:
bash <脚本所在的路径> [参数] 或 sh <脚本所在的路径> [参数] 方法2的格式: bash < shell 程序名
方法3
将该文件改为可执行的文件
(4)两种复合结构”{}”和”()”有何异同?
使用“{}”括起来的多条命令在逻辑上成为一条命令,一般出现在管道符“|”的左边。“{”之后要有一个空格,“}”之前要有一个分号。
bash执行“()”中的命令时,会再创建一个新的子程序,然后由这个子程序去执行“()”中的命令。“(”之后的空格可有可无,“)”之前的分号可有可无。 (5)条件判断语句有哪些,它们各自的优点是什么?
1 if: ○
当“条件命令串”执行成功是才执行“条件为真的命令串”
2 if嵌套以及elif-then结构: ○
elif结构同if结构类似,但结构更清晰,其执行结果完全相同。 3 case条件选择: ○
case条件选择为用户提供了根据字串或变量的值从多个选项中选择一项的方
法,其结构比elif-then结构更清楚。
(6)循环控制语句有哪些,它们各自的优点是什么?
1for循环: ○
for循环对一个变量的可能值,都执行一个命令序列。 2while循环和until循环 ○
都是用命令的返回状态值来控制循环的。区别在于:while循环在条件为真是
继续执行循环,until循环是在条件为假时继续执行循环。 (7)break语句和continue语句的异同点是什么?
break:立即退出循环
continue:忽略本循环中的其他命令,继续执行下一次循环。 使用break和continue语句只有放在do和done之间才有效。
10
4.上机题
(1)使用rpm命令进行软件的安装、删除、升级和查询。
rpm -i rpm -e rpm -u rpm -q
(2)使用yum命令进行软件的安装、删除、升级和查询。
yum install yum remove Yum search yum update
(3)使用执行Shell程序的3种方法分别执行一个Shell程序。
设该shell程序为 /study/show.sh
(1)bash /study/show.sh 或者sh /study/show.sh (2)bash < show.sh
(3)chmod a+x /study/show.sh
/study/show.sh
(4)测试某一命令的执行情况。
$?
值为0时表示为真,其余则为假
(5)使用复合结构编写一个Shell脚本程序。
#!/bin/bash
{ echo $1 echo $2 echo $3;}
(6)使用条件判断编写一个Shell脚本程序。
#!/bin/bash if [ $1 -eq 1 ];
then echo \else
echo \fi
(7)使用循环控制编写一个Shell脚本程序。
11
#! /bin/bash for i in 1 2 3 4 do
echo \第$i次\done
(8)使用无条件控制编写一个Shell脚本程序。 #! /bin/bash i=1 while true do echo $i if [ $i -eq 5 ] then break fi i=$[ i+1 ] done
(9)使用函数编写一个Shell脚本程序。 #! /bin/bash display() {
if [ $# -ne 1 ] then fi
if [ -d $1 ] then
echo 请输入 exit 1
dir $1
elif [ -f $1 ] then
cat $1
elif true then
echo 没有文件
12