《Linux操作系统》课件-Shell脚本语法_第1页
《Linux操作系统》课件-Shell脚本语法_第2页
《Linux操作系统》课件-Shell脚本语法_第3页
《Linux操作系统》课件-Shell脚本语法_第4页
《Linux操作系统》课件-Shell脚本语法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

Shell脚本编程基础自动化任务的利器变量定义存储数据的容器,灵活复用流程控制条件判断与循环,逻辑分支函数封装模块化代码,提升复用性脚本执行权限赋予与运行方式解析提示:掌握核心语法结构,是编写高效自动化脚本的基础。目录理解Shell脚本:了解什么是Shell脚本及其作用。掌握基本语法:学会变量、数组、注释、输入输出等基本用法。掌握流程控制:学会使用条件判断(if-else)和循环(for,while)。掌握函数:学会定义和调用函数,将代码模块化。实战演练:能够编写简单的脚本完成自动化任务,巩固所学知识。什么是Shell脚本?定义概念一个包含一系列Shell命令的文本文件,系统会按顺序执行其中的命令,从而自动完成特定的任务流程。核心价值•自动化:一键执行备份、日志清理等重复性工作•批处理:将多个零散命令整合,一次性批量执行•简化操作:封装复杂的命令序列,降低使用门槛脚本标识(Shebang)脚本首行通常以`#!`开头,用于指定系统执行脚本的解释器程序。核心语法示例1.指定Bash解释器$vimy_script.sh#!/bin/bash#关键标识2.脚本执行流程1.系统读取Shebang,调用对应解释器(Bash)2.按从上到下的顺序,逐行执行文件内的命令3.输出所有命令的执行结果,执行完毕后退出提示:Shebang是脚本的“身份证”,务必写在文件的第一行,且`#!`符号之间不能有空格。变量与常量定义变量语法:变量名=值(等号两边严禁有空格)示例:name="JohnDoe"|age=25使用变量语法:$变量名或${变量名}(推荐使用花括号)示例:echo$name|echo"Age:${age}"Shell特殊变量$0当前正在执行的脚本文件名称$1,$2,...传递给脚本的第1、第2...个位置参数$#传递给脚本的参数总个数$?上一个命令的退出状态码(0表示成功)脚本实战示例1.定义并赋值user="admin"num=1002.输出变量内容echo"User:${user}"3.检查命令执行状态lsnon-exist-file;echo$?Shell数组:定义与操作定义与访问元素fruits=("apple""banana""cherry")•索引访问:${fruits[0]}表示获取第一个元素(apple)•全部访问:${fruits[@]}或${fruits[*]}表示所有元素获取数组长度len=${#fruits[@]}通过#符号可以快速获取数组的元素个数。例如上述示例中,len的值为3,代表数组中有三个元素。实战:遍历数组元素forfruitin"${fruits[@]}";doecho"Ilike$fruit"done逻辑说明:结合for循环与数组展开语法,可以遍历数组中的每一个元素。在循环体中,可以对每个元素(如$fruit)进行统一的逻辑处理,是批量数据处理的核心技巧。输入与输出输出:echo命令脚本中最常用的输出工具,用于将指定的字符串或变量内容打印到终端屏幕上。输入:read命令实现脚本与用户的交互,从标准输入(键盘)读取一行数据,并将其存入自定义变量中供后续使用。echo核心参数与用法-n:执行输出后不进行自动换行,保持光标停留在当前行末尾。-e:启用转义字符解析功能,支持\n(换行)、\t(制表符)等特殊字符生效。示例:echo-e"Line1\nLine2"#实现两行文本的换行输出read交互场景示例显示输入提示read-p"提示语:"数据存入变量read-p"名:"user交互结果回显echo"Hi$user"条件判断if语句基本结构if[条件];then命令;elif[条件];then命令;else命令;fi注:方括号[]两侧必须保留空格数值比较运算符-eq(等于)|-ne(不等于)|-gt(大于)|-lt(小于)字符串与文件测试字符串:=(相等)!=(不等)|文件:-f(普通文件)-d(目录)-e(存在)脚本示例演示场景A:判断数值大小num=10;if[$num-gt5];thenecho"大于5";elseecho"小于等于5";fi#输出结果:大于5场景B:检查文件是否存在file="test.sh";if[-f$file];thenecho"是普通文件";elif[-d$file];thenecho"是目录";elseecho"不存在";fi#若存在test.sh文件则输出对应结果💡核心提示:在编写条件判断时,除了注意[]两侧的空格,还需注意整数比较使用-gt等,字符串比较使用=或!=。循环结构:for循环功能与定义重复执行一段代码块,是Shell脚本中最常用的循环结构。通过设定循环变量,依次取出目标集合中的元素并执行循环体,直到所有元素处理完毕。核心语法特征支持多种遍历模式:直接遍历列表元素、C语言风格的数字范围遍历、以及通配符匹配的文件遍历。灵活适配不同的自动化处理场景。三种典型应用场景01.遍历列表直接遍历已知的数字或字符串列表,依次赋值给循环变量。02.遍历范围C语言风格的语法,指定起始值、结束条件和步长,实现精确计数。03.遍历文件(通配符匹配)利用通配符(如*.txt)匹配特定类型的文件,对目录下的批量文件进行自动化处理,是脚本中最实用的功能之一。实战代码示例列表遍历:foriin12345;doecho$i;done数字范围:for((i=0;i<5;i++));doecho$i;done批量文件处理:forfin*.txt;doecho"Deal$f";done循环while&untilwhile循环核心逻辑:只要判断条件的结果为真(true),就会持续执行代码块。count=1while[$count-le5]doecho"Current:$count"count=$((count+1))#算术运算doneuntil循环核心逻辑:只要判断条件的结果为假(false),就持续执行,直到条件为真。count=1until[$count-gt5]doecho"Current:$count"count=$((count+1))#递增计数done实战演练:编写一个简单的脚本任务目标编写一个交互式的Bash脚本,实现以下功能:1.提示用户输入姓名,并输出个性化的问候语。2.提示用户输入一个整数,使用算术运算判断其奇偶性。3.输出判断结果,结束脚本。script.sh—bash#!/bin/bash#声明解释器read-p"请输入你的姓名:"usernameecho"你好,$username!👋"#读取数字并判断奇偶read-p"请输入一个数字:"numif[$((num%2))-eq0];thenecho"$num是偶数(Even)"else;echo"$num是奇数(Odd)";fi💡Tips:使用read-p实现交互式输入;利用$((...))进行算术运算;通过if[条件]实现流程控制。总结回顾变量存储数据,使用$符号引用变量值。输入输出read读取输入,echo输出内容,实现交互。流程控制if-elif-else判断,for/while/until循环控制逻辑。注释规范使用#符号标记单行注释,提升代码可读性。💡实践建议:编写脚本时,注意保持良好的缩进习惯,并配合必要的注释说明。这能极大地提高代码的可读性,也便于后续的维护与迭代。感谢观看T

温馨提示

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

评论

0/150

提交评论