linuxshell编写变量介绍交互式shell.ppt

上传人:max****ui 文档编号:6375340 上传时间:2020-02-24 格式:PPT 页数:74 大小:1.99MB
返回 下载 相关 举报
linuxshell编写变量介绍交互式shell.ppt_第1页
第1页 / 共74页
linuxshell编写变量介绍交互式shell.ppt_第2页
第2页 / 共74页
linuxshell编写变量介绍交互式shell.ppt_第3页
第3页 / 共74页
点击查看更多>>
资源描述
目录 概述Shell变量Shell控制结构交互式shell 概述 Shell介绍 概述 Shell在操作系统的位置 概述 基本上 替我们工作的是硬件 而控制硬件的是内核shell使用者那是利用shell控制一下kernel提供的工具来操作硬件替我们正确工作 在进一步来说 由于kernel听不懂人类语言 而人类也没有版本直接记得kernel的语言 所以两者的沟通就有shell支持 Shell类似windowns的dos命令 概述 Shell的种类 概述 概述 上面介绍shell基本知识 下面介绍shell编写的基本知识 Shell编程的总体划分如下所示 变量 变量大家都比较熟悉 在shell编程中也可以定义变量 变量的定义 赋值等属性与c语言中的变量的属性有很大的不同 下面按照变量的种类分别介绍这些变量特点与使用方法 环境变量 环境变量用于所有用户进程 这些变量在操作系统启动时已经设置好的 建议不要修改这些环境变量 对环境变量可以进行如下操作查看环境变量设置环境变量取消环境变量 环境变量 查看环境变量查看环境变量包括查看具体的环境变量与查看全部环境变量查看操作系统下的所有的环境变量在shell执行命令 env如下图所示 环境变量 查看具体的环境在shell执行 echo 环境变量名称 例如查看环境变量PATH的值 执行命令 echo PATH 环境变量 设置环境变量用户可以在shell编程中设置环境变量 方式如下 变量名 值export变量名 环境变量 取消环境变量环境变量设置后可以取消 方式如下unset环境变量名称在下面的章节中举例都是test sh在test sh定义环境变量 在test1 sh打印环境变量 在test sh中删除环境变量 环境变量 Test sh中内容如下 Test1 sh中内容如下 环境变量 执行结果 本地变量 本地变量是在shell脚本中定义的变量 此变量的作用域为整个shell脚本 故在shell脚本中不要定义重名的变量 在本地变量中介绍如下方面变量赋值变量组合变量删除 本地变量 变量赋值变量的赋值有如下种类直接赋值shell命令执行结果赋值数值计算结果赋值 本地变量 直接赋值定义时赋值TestPar 1shell命令执行结果赋值变量名 shell命令 例如将当前路径赋给变量CurDirCurDir pwd 本地变量 数值计算结果赋值对于正式的数值可以进行运算 将运算结果赋值给变量 数值计算的命令为 expr例如 ParNum 10ParNum expr ParNum 2 注意 变量赋值是 两边不能有空格 本地变量 变量组合多个变量可以组合成一个变量 例如ParUinte1 user ParUinte2 version ParUinte3 ParUinte1 ParUinte2则ParUinte3的值为 user version 本地变量 变量删除使用unset命令将变量删除 unset变量名注 变量名前没有 本地变量 上面讲述的内容写到shell脚本中如下所示 执行结果如下 特殊变量 特殊变量是shell中定义的特殊变量 如下所示 特殊变量 特殊变量 对上面的特殊变量通过一个具体的实例来查看 如下所示 执行脚本 test sh123执行结果如下 Shell控制结构 在shell控制结构中主要有如下几个部分条件判断循环处理函数调用 条件判断 在讲解判断条件前 先介绍判断条件有那些种类存在性判断字符串判断数字比较 条件判断 存在性判断一般是对文件的存在性进行判断 文件存在性判断如下所示 条件判断 字符串判断对字符串的判断主要有如下种类 条件判断 数字比较对数字的比较判断有如下种类 条件判断 对上面的条件判断请参考如下用例 条件判断 执行结果如下 条件判断 判断条件经过上面的讲解 大家都已经了解 下面讲述判断条件的最基本使用 if条件1then命令1elif条件2then命令2else命令3fi if条件1 then命令1elif条件2 then命令2else命令3fi 条件判断 最基本的命令如下 条件判断 上述命令需要注意如下事项 if与 中有空格 与2有空格比较符前后有空格3与 有空格if一定以fi结束 条件判断 上面讲述的是if语句下面讲解下case语句的用法 如下所示 条件判断 通过一个具体的实例查看case的用法 条件判断 上述命令需要注意如下事项 在case选项中一般有下面选项 这个类似c语言case中default选项Case一定已esac结束 esac是case的逆序写发 循环处理 循环处理中有如下几种类型for循环until循环while循环 循环处理 for循环For循环一个格式如下所示 循环处理 上述中in列表一般有如下种类列举内容执行命令内容 循环处理 列举内容for循环执行in后面列举内容 循环处理 执行命令内容for循环执行in后面为命令执行结果打印当前目录下的所有文件 如下所示 执行结果 循环处理 上面讲述for循环常用的几种格式 for循环可以嵌套使用如下所示 循环处理 执行结果如下所示 循环处理 until循环until使用方法如下untile条件do命令1 done 循环处理 Until使用方法如下所示 循环处理 Untile的条件为假时才执行下面语句 与平常使用的判断条件不相同 在上面示例中until后面的条件 变量Loop大于5条件为假即小于等于5时执行 循环处理 执行结果 循环处理 while循环while的使用方法与until类似 如下所示 循环处理 while使用方法如下所示 循环处理 While条件为真时执行后面的命令 在上面示例中while后面的条件时 变量Loop小于5条件为真时执行 循环处理 执行结果 循环处理 在循环中有两个关键字比较重要 breakcontinue这两个关键字与c语言中的含义相同 break 跳出循环continue 跳出本次循环如下所示 循环处理 执行结果 函数调用 在shell脚本中可以编写函数 并且对含进行调用 本章包括如下内容 函数的定义函数的调用函数的传参函数的返回值 函数调用 函数的定义在调用函数前需要先定义函数 函数的定义一定在函数的使用前 函数定义的格式如下 函数调用 函数定义如下所示 函数调用 在定义函数时需要注意下面几点要有返回值用定义在使用前函数名与变量名不能重复 函数调用 函数的调用函数定义后在使用的地方可以直接调用 调用时直接写函数名即可 注意 函数名后不要带 如下所示 函数调用 如下所示 函数调用 函数的传参在调用函数时可以进行传递参数 传递参数的方式与shell脚本传递参数的方式相同格式如下 函数名参数1参数2 函数调用 在函数中可以使用 1 2 9获取入参如图所示 函数调用 执行结果 函数调用 函数的返回值调用完函数后建议对函数的返回值进行判断以确定函数调用是否成功 对函数返回值一般有如下约定 0 表示函数调用成功其他 函数调用失败 函数调用 函数的返回值使用特殊变量 进行判断如图所示 交互式shell 上面讲述的是常用的shell 这些shell命令执行时不需要用户进行确认或输入 有些shell命令需要用户进行输入 例如 修改用户的密码如下所示 交互式shell 碰到上述情况校验使用交互式shell 交换式shell格式如下 expect c spawn操作命令expect 提示字符 send输入内容 exp continue 提示字符 send输入内容 exp continue 交互式shell 例如修改root密码 交互式shell 交互式shell时要注意下面几点字符串的 一定已 进行转换send后面为输入内容在有多个提示时一定使用 exp continue结束符要匹配 Q A
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!