




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lesson09Shell脚本 复习 配置文件与source命令特殊符号 重定向管道 cutsortwcuniqteetrgrep 内容提要 正则表达式ShellScripts 正则表达式 正则表达式 代表一个任意字符 一定要有一个字符存在 匹配0次或者1次 也可以用于表示单一字符 匹配任意次 也可以用于表示任意字符 list 列表中的字符 range 列表中范围内的字符 范围用 分隔 正则表达式 正则表达式 list 不属于list的元素 与 list 相反 range 不属于range的元素 与 range 相反 n 与前一个相同条件连续匹配n个 n m 与前一个相同条件连续匹配n到m个 正则表达式 正则表达式实验 假设有如下文本 文件名称为t hi iameric myphoneis023 68587573mobilephoneitchangsha iwilluse0731 6858670myidis22334455667myemailiseric hxy maybeucanalsouseERIC HXY 163 COMcallmepleasebye 正则表达式 问题 如何查找文本中的移动电话 grep e 13 0 9 9 如何查找文本中的固定电话号码 grep e 0 0 9 2 3 0 9 7 8 ShellScripts 什么是ShellScripts 一系列连续命令如何执行 使文件具备执行属性 然后执行使用sh命令 如sha ShellScripts 建立第一个脚本 vitest01输入echohelloscriptsworld保存退出增加可执行权限 chmoda xtest01执行 test01去掉可执行权限 chmoda xtest01执行 test01执行shtest01 ShellScripts 默认变量类型是字符串 其他变量声明用d 语法 declare afir 变量名称 初始值 含义 a定义数组 f定义函数 i定义整数 r定义只读变量 ShellScripts 变量声明举例 a1 10b1 20c1 a1 b1echo c1declare ia2 10declare ib2 20declare ic2 a2 b2echo c2实验 ShellScripts 变量声明注意事项 变量赋值等号两边不能有空格如果变量值包含空格 最好使用引号 如果没有引号 那么该值中的第二个单词会当作命令执行 例如 aa bpwdaa bpwddecho命令打印变量时 最好用引号括起 否则echo将解析其中的特殊符号 列出当前目录下面的文件名称 例如 aa echo aa如果 variable 表示一个命令 则会自动执行它 例如 aa pwd aa ShellScripts set命令的其他用法 set 参数列表 效果 依次把各位置参数设置为参数列表中的值 从 1开始举例 set date echo 1 2 3注意 如果参数列表中第一个可能以 开头 则应该使用set 参数列表 例如 set a b c set a b c echo ShellScripts shell算术运算 1 2 可以使用shell结构来执行简单的整数运算 只需将特定的算术表达式用 和 括起 bash就可以计算表达式举例 echo 100 3 myvar 56 echo myvar 12 echo myvar myvar myvar myvar 1 echo myvar ShellScripts shell算术运算 2 2 也可以使用 expr表达式 来计算表达式的值 可以使用的运算符包括 a echo expr a a ShellScripts 跟用户交互read echoinputuname readnameechounameis name参数的读取 0代表命令或者脚本名称 1代表第一个参数 一直到9实验 ShellScripts shift命令作用 将参数左移语法 shift N 含义 将命令行参数左移N个位置 默认为1举例 echo 0 1 2shiftecho 0 1 2shift2echo 0 1 2 ShellScripts 常用的逻辑判断 f检测文件是否存在 d检测目录是否存在 e检测对象是否存在 对象可以是任何东西 r文件是否具备可读属性 w是否可写 x是否可执行 s文件是否非空 u文件是否具备SUID g文件是否具备SGID k文件是否具备stickybit属性 逻辑与 逻辑或 ShellScripts 常用的整数运算符 eq等于 ne不等于 lt小于 gt大于 le小于或等于 ge大于或等于 ShellScripts 常用的字符串运算符 str若str为非空字符串则为真str1 str2若str1与str2相同则为真str1 str2若str1与str2不相同则为真str1str2若str1比str2排序较大则为真 zstr若str长度为0则为真 nstr若str长度大于0则为真 ShellScripts 字符串与数字比较的区别 myvar 1if myvar eq01 then 相等否 echomyvarisnumber1fiif myvar 01 then 相等否 echomyvarischar01fi ShellScripts 字符串比较经典问题 引号重要性 var1 whoami var2 who if var2 who thenechoohofiif var1 whoami thenechoyeahfi应用字符串变量时最好把双引号加上 ShellScripts 条件判断 最简单的条件判断if condition thenactionfi注意 在 中 只能有一个判断式在 与 之间 可以使用 或 组合 ShellScripts 条件判断 复杂的if语句 if condition thenactionelif condition2 thenaction2elif condition3 thenelseactionxfi ShellScripts 问题1 如果用户输入Y或者y就打印hello 否则打印bye 这个脚本该如何写 echo pressanykeytocontinue readkeyif key y key Y thenecho hello elseecho bye fi ShellScripts 问题2 根据用户输入进行判断 如果是目录 则列出目录下文件的数量 否则列出文件的大小和inodeiftest f 1thenfilename 1set ls il filename echofile filenameinode 1andsize 6fiif d 1 thencount ls 1 wc w echodirectory 1have countfilesexit0fi ShellScripts 条件判断 分支判断 case字符串in串1 动作1 串2 动作2 动作3esac ShellScripts 问题 根据用户输入字符串的长度判断 如果长度为3 就在其前面加入00 如果为4 则加入0 其他情况则加入haha 打印最后结果 该如何写 echo inputastring readstrcount echo str wc m case countin4 str 00 str 5 str 0 str str haha stresacecho nowstris str ShellScripts 循环 for语句 for 条件1 条件2 条件3 doactiondonefor变量 in变量1变量2 doactiondone注意 不带in部分时参数有命令行提供 ShellScripts 简单for实例 foriinericcarolhexydoecho hello i doneforain doif f a thenecho afidone ShellScripts 问题 如何读取所有命令行参数进行显示 declare iiforadoi i 1echo iparameteris adone ShellScripts 循环 while语句 只要条件满足就一直执行while 条件 doactiondone ShellScripts 循环 until语句 直到满足条件才退出until 条件 do动作done ShellScripts 问题1 分别用while和until来实现打印1到10数字declare ii 1while i le10 doecho ii i 1doneuntil i gt10 doecho ii i 1done ShellScripts 问题2 写一个脚本 把所有参数计算所有参数之和count 0while 0 docount count 1 count expr count 1 shiftdoneechocountis count ShellScripts 函数定义语法 函数名称 函数体 函数调用方法 函数名称 ShellScripts 函数举例 myvar hello myfunc myvar onetwothree forxin myvardoecho xdone invokefunctionmyfuncecho myvar x ShellScripts 解决函数中的名字空间问题 使用local myvar hello myfunc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国医药行业碳中和路径与技术应用研究报告
- 2025至2030巧克力食品行业发展趋势分析与未来投资战略咨询研究报告
- 2025-2030中国信贷行业深度发展研究与“”企业投资战略规划报告
- 服装品牌合作经营协议7篇
- 企业级智能体产业落地研究报告分享 从场景试点到规模化应用实践 2025
- 河南销售分公司高校毕业生招聘考试真题2024
- 2025广西百色市西林县发展和改革局公开招聘3人考前自测高频考点模拟试题及一套完整答案详解
- 2025年烟台市芝罘区卫生类事业单位公开招聘工作人员(38人)考前自测高频考点模拟试题及答案详解(有一套)
- 2025年海洋能发电在海岛旅游度假村电力供应中的应用
- 2025北京市场监管总局直属单位招聘210人模拟试卷及答案详解(各地真题)
- 云南师大附中2024年数学高一下期末联考试题含解析
- 供应链管理综合实验实验报告
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 2024量子人工智能技术白皮书-量子信息网络产业联盟-2024.1
- 公务员考试培训-判断推理通关秘籍
- 第13课《警惕可怕的狂犬病》 课件
- 《社会工作伦理案例分析》课件 儿童和青少年社会工作伦理
- HSK标准教程5下-课件-L2
- 艺人明星形象代言肖像权使用合同模板
- 毕业设计论文-计算机类
- 工作单位接收函
评论
0/150
提交评论