版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LinuxShell脚本实战考核试题(含详细答案解析)适用人群:Linux运维、后端开发、实习生、服务器管理人员考试总分:100分考试时长:60分钟考试说明:试题侧重线上生产环境真实脚本场景,摒弃纯理论背诵,贴合日常运维自动化工作。一、单项选择题(共15题,每题3分,共45分)1.Linux系统中默认的Shell解释器是()A.shB.bashC.zshD.csh2.Shell脚本文件的第一行声明解释器的标准写法是()A.#!/bin/bashB.#bin/bashC.//bin/bashD.#runbash3.以下权限中,可让脚本直接执行的最小权限是()A.444B.644C.755D.6664.在Shell中,用于定义只读变量的参数是()A.readB.exportC.readonlyD.static5.脚本中$0的作用是()A.获取脚本第一个参数B.获取脚本文件名本身C.获取参数个数D.获取上一条命令返回值6.用于接收用户键盘输入数据的内置命令是()A.inputB.scanfC.readD.get7.Shell中判断文件是否存在的参数是()A.-dB.-fC.-eD.-x8.循环遍历文件夹内所有文件,最常用的循环语句是()A.forB.whileC.untilD.case9.可以屏蔽脚本执行所有标准输出信息的符号是()A.>&1B.>/dev/nullC.2>&1D.&>/dev/null10.获取上一条命令执行状态码(返回值)的特殊变量是()A.$#B.$*C.$?D.$$11.Shell中整数比较“大于”的正确运算符是()A.>B.-gtC.-greatD.>=12.定义全局环境变量,让当前终端和子脚本都生效的命令是()A.readonlyB.exportC.sourceD.set13.批量注释Shell脚本多行内容的最优方式是()A.每行加#B.:<<EOFC.//D./**/14.$$变量的作用是()A.脚本PIDB.脚本参数总数C.所有参数内容D.脚本退出码15.让脚本文件修改后立即生效,无需重启终端的命令是()A.execB.sourceC.runD.start二、判断题(共10题,每题2分,共20分)1.Shell脚本不写#!/bin/bash声明,一定无法执行。()2.$1、$2可以获取脚本执行时传入的位置参数。()3.[]进行条件判断时,中括号内侧必须保留空格。()4.Shell脚本中变量赋值时,等号左右两侧不能加空格。()5./dev/null是空设备,可用于丢弃无用日志输出。()6.while循环适合固定次数的循环,for循环适合条件循环。()7.2>&1作用是将错误输出重定向到标准输出。()8.Shell可以直接进行小数加减乘除运算,无需额外工具。()9.source执行脚本不会开启新子进程,直接在当前终端生效。()10.-d参数可用于判断目标是否为目录。()三、简答题(共3题,每题7分,共21分)1.简述Shell脚本中$#、$*、$@、$$、$?五个特殊变量的作用。2.简述Shell中>和>>的区别,以及1>、2>的含义。3.简述for、while、until三种循环的适用场景。四、编程实操题(共1题,14分)编写一个Shell脚本,实现以下功能:1.判断/tmp/test目录是否存在,不存在则创建;2.在该目录下创建test.log文件;3.获取当前系统时间,写入test.log;4.判断脚本执行是否成功,输出执行结果提示。参考答案及详细解析一、单项选择题答案及解析1.答案:B解析:CentOS、Ubuntu绝大多数Linux发行版默认交互式Shell为bash。sh是标准Shell,zsh、csh为扩展Shell,非系统默认。2.答案:A解析:#!/bin/bash是标准脚本解释器声明,必须以#!开头,用于告知系统使用bash解析当前脚本。3.答案:C解析:Linux文件执行需要执行权限x,755权限包含所有者、组、其他用户的执行权限,是脚本通用执行权限。644仅有读写权限,无法直接运行脚本。4.答案:C解析:readonly用于定义只读变量,定义后无法修改、无法删除。read用于读取输入,export用于设置环境变量。5.答案:B解析:$0固定获取当前脚本文件名;$1获取第一个位置参数,$#获取参数个数,$?获取上条命令返回值。6.答案:C解析:Shell内置读取键盘输入的命令为read,无input、scanf等语法。7.答案:C解析:-e判断文件或目录是否存在;-f判断是否为普通文件;-d判断是否为目录;-x判断是否有执行权限。8.答案:A解析:for循环擅长遍历列表、文件、目录集合,是批量遍历文件的首选。while、until多用于条件持续判断场景。9.答案:D解析:&>/dev/null可同时屏蔽标准输出和错误输出;>/dev/null仅屏蔽标准输出,错误信息依旧打印。10.答案:C解析:$?接收上一条命令的退出状态码,0代表执行成功,非0代表执行异常、报错。11.答案:B解析:Shell中[]整数比较不能直接使用>、<符号,需使用专用参数:-gt大于、-lt小于、-eq等于、-ne不等于。12.答案:B解析:export导出变量为全局环境变量,对子Shell、新终端生效。source用于加载脚本,readonly用于只读变量。13.答案:B解析:使用:<<EOF...EOF可实现批量多行注释,是运维脚本通用规范,效率远高于单行加#。Shell不支持//和/**/注释。14.答案:A解析:$$获取当前脚本运行的进程PID,常用于日志标记、进程锁定。15.答案:B解析:source可在当前终端加载脚本配置,不开启新进程,修改配置后无需重启终端即可生效。二、判断题答案及解析1.错误解析:在bash环境下,直接执行sh脚本名,即使无解释器声明也可运行,只是规范性差,企业生产环境必须规范书写声明。2.正确解析:$1、$2、$3……依次对应脚本执行时传入的第1、2、3个位置参数。3.正确解析:[]是Shell内置判断语法,中括号与判断表达式之间必须有空格,否则会报语法错误。4.正确解析:Shell变量赋值语法严格,等号左右禁止加空格,加空格会被系统识别为命令执行,直接报错。5.正确解析:/dev/null是Linux空设备,所有写入的内容都会被丢弃,常用于屏蔽无用日志输出。6.错误解析:for适合固定范围、遍历集合的循环;while适合满足条件就持续执行的循环,题目描述颠倒。7.正确解析:2>&1是运维高频用法,将标准错误输出合并到标准输出,统一输出到日志文件。8.错误解析:原生Shell仅支持整数运算,小数运算必须借助bc、awk等第三方工具。9.正确解析:source在当前Shell进程执行脚本,所有变量、配置直接在当前终端生效;sh执行会开启子进程,变量无法回传父终端。10.正确解析:-d专属判断路径是否为存在的目录,是脚本目录判断的核心参数。三、简答题答案及解析1.五个特殊变量作用$#:获取脚本执行时传入的位置参数总个数;$*:将所有传入参数作为一个整体字符串输出;$@:单独保留每一个参数,参数独立分隔,遍历场景优先使用;$$:获取当前脚本运行的进程PID;$?:获取上一条执行命令的退出状态码,0为成功,非0为失败。2.重定向符号区别>为覆盖重定向,会清空文件原有内容,写入新内容;>>为追加重定向,保留文件原有内容,在文件末尾新增内容;1>代表标准输出重定向,默认可省略,用于输出正常命令日志;2>代表错误输出重定向,专门收集命令执行的报错信息。3.三种循环适用场景for循环:适用于已知范围、固定列表、批量遍历文件、批量循环固定次数的场景,是运维批量操作首选;while循环:适用于满足条件就持续循环、读取文件逐行内容、持续监控服务状态的场景;until循环:适用于条件不成立时持续循环,条件成立立即停止的场景,日常使用频率较低,多用于等待服务启动、等待文件生成场景。四、编程实操题参考答案(可直接运行)bash
#!/bin/bash
#定义目录和文件路径
DIR="/tmp/test"
LOG_FILE="/tmp/test/test.log"
#判断目录是否存在,不存在则创建
if[!-d$DIR];then
mkdir-p$DIR
fi
#创建日志文件并写入当前系统时间
echo"脚本执行时间:$(date+%Y-%m-%d\%H:%M:%S)">$LOG_FILE
#判断执行结果
if[$?-eq0];then
echo"脚本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全国医疗应急能力培训系列课程参考答案
- 2025医疗器械考试题及答案
- 2026年2026年江苏安全员b证考试试题
- 2025中小学生航空航天科普知识竞赛试题库试题及答案
- 2026年人工智能通识认证考核试题含答案
- 2025门球教练员考试题及答案
- 建设工程法规及相关知识
- XXXX年工程创优(保障性住房)培训班资料
- 外伤性头痛急救
- 多重耐药菌感染的预防课件
- 2026年云天化集团有限责任公司人员招聘笔试参考试题及详细答案解析
- 瓶装矿泉水生产成本核算
- 高三生物一轮复习教学设计:生态系统稳定性与生物多样性保护
- PIC-S PI 006-4 确认与验证新规全解读(2026版GMP验证实施指南)
- 《勤洗生活衣物》教学课件 - 2026-2027 学年滇教版初中劳动技术七年级上册
- 马尔康市人力资源和社会保障局2026年增量政策性岗位招募的(1人)考试备考试题及答案详解
- AI商标保护与价值挖掘
- 2025年10月自考13807计算机基础与应用技术真题试卷及答案
- 血气分析临床实战全解读
- 新疆交通投资集团有限责任公司笔试题目
- 防静电措施培训课件
评论
0/150
提交评论