Linux Shell 实战考试题及详细答案_第1页
Linux Shell 实战考试题及详细答案_第2页
Linux Shell 实战考试题及详细答案_第3页
Linux Shell 实战考试题及详细答案_第4页
Linux Shell 实战考试题及详细答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LinuxShell实战考试题及详细答案适用场景:运维入门考核、Linux基础面试、Shell脚本实战测试考试说明:满分100分,答题时间60分钟,侧重常用命令、脚本语法、实操排错,无偏题怪题一、单项选择题(每题3分,共30分)1.Linux系统中,默认的Shell程序是?()A.shB.bashC.zshD.csh2.以下哪个命令可以查看当前系统所有已定义的环境变量?()A.envB.echo$varC.setD.export3.在Shell脚本中,以下哪个符号用于注释单行代码?()A.//B./**/C.#D.;4.想要在脚本中定义只读变量,不允许后续修改,需要使用哪个参数?()A.readonlyB.staticC.constD.define5.Shell脚本中,$0代表的含义是?()A.脚本第一个参数B.脚本本身文件名C.脚本参数个数D.上一条命令返回值6.以下哪个循环语句可用于遍历连续数字1-10?()A.foriin1..10B.foriin{1..10}C.loop1-10D.while1-107.判断文件是否存在的Shell条件参数是?()A.-dB.-fC.-eD.-x8.上一条命令执行成功时,特殊变量$?的返回值是?()A.1B.0C.nullD.2559.以下哪个符号可以将命令标准错误输出重定向到空设备?()A.>/dev/nullB.2>/dev/nullC.1>/dev/nullD.&>/dev/null10.Shell中逻辑与的运算符是?()A.||B.&&C.&D.|二、填空题(每空2分,共20分)1.定义Shell局部变量的格式为__________,定义全局环境变量需要使用__________命令。2.脚本中$#表示__________,$*表示__________。3.判断变量是否为空的条件参数是__________,判断目录是否存在的参数是__________。4.跳出当前for/while循环的命令是__________,终止整个循环的命令是__________。5.执行Shell脚本的三种常用方式:__________、__________、source脚本名。三、简答题(每题10分,共30分)1.简述shtest.sh和sourcetest.sh执行脚本的核心区别?2.解释Shell中$、$$、$!、$?四个特殊变量的作用?3.写出Shell脚本中if多分支判断的标准语法结构。四、实操编程题(每题10分,共20分)1.编写一个Shell脚本,实现功能:判断/tmp/test目录是否存在,不存在则创建,存在则输出“目录已存在”。2.编写一个Shell脚本,循环输出1到20的所有偶数。参考答案(详细解析)一、单项选择题答案及解析1.答案:B解析:绝大多数Linux发行版默认登录Shell为bash,sh是兼容模式的基础Shell,zsh、csh为拓展Shell,非默认。2.答案:A解析:env专门用于查看系统所有环境变量;set查看所有变量(环境变量+局部变量);export用于定义/导出环境变量;echo$var仅查看单个变量。3.答案:C解析:Shell中#为单行注释符,无多行注释原生符号;//是C语言注释,/**/是多行注释,均不适用于Shell。4.答案:A解析:readonly命令定义只读变量,赋值后无法修改、删除;Shell无static、const、define变量定义关键字。5.答案:B解析:$0输出当前执行的脚本文件名;$1、$2为脚本位置参数;$#为参数个数;$?为上条命令返回值。6.答案:B解析:Shell大括号拓展{1..10}可生成连续数字,是遍历数字的标准写法,其余语法均不合法。7.答案:C解析:-e判断文件/目录是否存在;-f判断是否为普通文件;-d判断是否为目录;-x判断文件是否有执行权限。8.答案:B解析:Linux命令执行返回值规则:0代表执行成功,非0(1-255)代表执行失败、异常。9.答案:B解析:1代表标准输出,2代表标准错误输出;2>/dev/null只屏蔽错误输出;>/dev/null只屏蔽标准输出;&>/dev/null屏蔽所有输出。10.答案:B解析:&&逻辑与(前命令成功才执行后命令);||逻辑或(前命令失败才执行后命令);&后台运行;|管道符。二、填空题答案及解析1.变量名=值;export解析:Shell定义变量等号左右不能有空格,直接赋值为局部变量,export导出后为全局环境变量,可被子进程调用。2.脚本传入参数的总个数;脚本所有传入的位置参数3.-z;-d解析:-z判定字符串为空,-n判定字符串非空;-d精准判定目标为目录且存在。4.continue;break解析:continue跳过本次循环,执行下一次循环;break直接终止整个循环体。5.bashtest.sh;./test.sh解析:三种执行方式区别:./需脚本有执行权限,bash/sh无需执行权限,source在当前进程执行脚本。三、简答题详细答案1.shtest.sh和sourcetest.sh的核心区别(1)执行进程不同:sh执行脚本会开启子Shell进程,脚本内定义的变量、操作仅在子进程生效,执行结束后子进程销毁,不会影响当前终端环境;(2)source执行脚本直接在当前Shell进程运行,脚本定义的变量、配置会直接生效,修改当前终端环境;(3)适用场景:修改系统配置、环境变量生效用source;普通脚本运行、隔离环境用sh/./执行。2.特殊变量含义-$#:脚本运行时传入的位置参数总数量;-$$:当前Shell脚本的进程PID号;-$!:后台运行的最后一个进程的PID号;-$?:上一条执行命令的退出返回值,0为成功,非0为失败。3.if多分支判断标准语法PlainText

if[条件判断1]

then

执行语句1

elif[条件判断2]

then

执行语句2

else

默认执行语句

fi注意:中括号[左右必须有空格,elif无括号、无空格分隔,语句结尾必须用fi收尾。四、实操编程题标准答案(可直接运行)1.目录判断创建脚本PlainText

#!/bin/bash

#判断/tmp/test目录是否存在

if[-d"/tmp/test"]

then

echo"目录已存在"

else

mkdir-p/tmp/test

echo"目录创建成功"

fi解析:-p参数可递归创建多级目录,且目录已存在时不会报错,是生产环境通用写法。2.输出1-20偶数脚本PlainText

#!/bin/bash

温馨提示

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

评论

0/150

提交评论