Linux基础-脚本编程PPT幻灯片

上传人:日度 文档编号:135062289 上传时间:2020-06-11 格式:PPTX 页数:58 大小:305.14KB
返回 下载 相关 举报
Linux基础-脚本编程PPT幻灯片_第1页
第1页 / 共58页
Linux基础-脚本编程PPT幻灯片_第2页
第2页 / 共58页
Linux基础-脚本编程PPT幻灯片_第3页
第3页 / 共58页
Linux基础-脚本编程PPT幻灯片_第4页
第4页 / 共58页
Linux基础-脚本编程PPT幻灯片_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《Linux基础-脚本编程PPT幻灯片》由会员分享,可在线阅读,更多相关《Linux基础-脚本编程PPT幻灯片(58页珍藏版)》请在金锄头文库上搜索。

1、讲师 杨行 系列课程 Linux基础 Shell脚本编程 第五章 课程目标 具备搭建linux系统平台能力系统安装具备Linux系统日常维护能力文件 目录结构linux的常用命令 ViShell脚本编程 管道及其重定向tftp nfs服务器的配置熟悉Linux系统下的开发环境Gcc Gdb 课程安排 第一天上午 Linux系统简介和安装下午 Linux安装实际演练第二天上午 Linux基本操作命令下午 Linux基本操作命令实战第三天上午 Linux进程操作下午 Linux服务器配置第四天上午 Linux脚本编程上下午 Linux脚本编程下第五天上午 源代码编译和调试下午 多模块软件的编译和链

2、接 预科内容 根据实际情况调整授课天数 4 10天 课前提问 Shell编程的基本步骤什么 Shell变量有几种类型 位置变量起什么作用 Shell控制语句 Shell函数 Shell调试方法 本章目标 Shell基础Shell变量及环境变量Shell测试语句Shell控制语句Shell函数Shell调试方法 6 知识点1 管道与重定向 标准输入输出重定向操作管道操作 7 标准输入输出 标准错误输出 8 重定向操作 重定向操作 9 输入 输出重定向实例 输入重定向 wc wc etc passwd将命令输出重定向到文件将标准输出重定向到文件 ls etc etcdir将标准输出重定向追加到文件

3、 ls etc sysconfig etcdir将错误输出重定向到文件 nocmd2 errfile将标准输出和错误输出重定向到文件 lsafilebfile errfile 10 管道的使用 管道操作符 符用于连接左右两个命令 将 左边的命令执行结果 输出 作为 右边命令的输入cmd1 cmd2在同一条命令中可以使用多个 符连接多条命令cmd1 cmd2 cmdn 管道的使用 编译型语言解释型语言Shell脚本语言是解释型语言Shell脚本的本质 Shell命令的有序集合 知识点2 Shell脚本基础 基本过程分为三步 Step1 建立shell文件包含任意多行操作系统命令或shell命令的

4、文本文件 Step2 赋予shell文件执行权限用chmod命令修改权限 Step3 执行shell文件直接在命令行上调用shell程序 Shell脚本基础 Step1 建立shell文件 可用任何建立文本文件的方法 catprog1who grep 1 Step2 赋予执行权限 初始文本文件无执行权限 chmod740prog1 Step3 执行该shell程序 prog1wdlprog1 notfound shell在标准搜索目录中找不到prog1命令 Step4 指定路径或修改环境变量PATH后执行shell程序 prog1wdlwdltty06Feb809 12 Shell脚本基础实例

5、 Shell允许用户建立变量存储数据 但不支持数据类型 整型 字符 浮点型 将任何赋给变量的值都解释为一串字符Variable value命名规则同C 中的命名规则count 1Echo countDATE date Echo DATE 知识点3 Shell脚本变量 BourneShell有如下四种变量 用户自定义变量位置变量即shellscript之参数预定义变量 特殊变量 环境变量 Shell脚本变量 在shell编程中通常使用全大写变量 方便识别 COUNT 1变量的调用 在变量前加 echo HOMELinuxShell bash从右向左赋值 Y y X Y echo Xy使用unse

6、t命令删除变量的赋值 Z hello echo Zhello unsetZ echo Z Shell脚本变量 自定义变量 0与键入的命令行一样 包含脚本文件名 1 2 9分别包含第一个到第九个命令行参数 包含命令行参数的个数 包含所有命令行参数 1 2 9 包含前一个命令的退出状态 包含所有命令行参数 1 2 9 包含正在执行进程的ID号 Shell脚本变量 位置变量 CDPATH 用于cd命令的查找路径HOME etc passwd文件中列出的用户主目录IFS InternalFieldSeparator 默认为空格 tab及换行符MAIL var mail USERNAMEmail等程序使

7、用PATH 路径PS1 PS2 默认提示符 及换行提示符 TERM 终端类型 常用的有vt100 ansi vt200 xterm等 Shell脚本变量 环境变量 shell程序由零至多条shell语句构成 shell语句包括三大类 功能性语句 结构性语句和说明性语句 说明性语句 以 号开始到行尾的部分 不被解释执行功能性语句 任意的操作系统命令 shell内部命令 自编程序 其它shell程序名等 结构性语句 条件测试语句 多路分支语句 循环语句 循环控制语句等 知识点4 Shell程序和语句 注释行可以出现在程序中的任何位置 既可以单独占用一行 也可以接在执行语句的后面 以 号开始到所在行

8、的行尾部分 都不被解释执行 例如 bin sh 本程序说明 command 1command 2 command 2的语句说明 下面程序段的说明command m command n commandn 语句的说明 告诉OS用哪种类型的shell来解释执行该程序 说明性语句 readread从标准输入读入一行 并赋值给后面的变量 其语法为 readvar把读入的数据全部赋给var readvar1var2var3把读入行中的第一个词 word 赋给var1 第二个词赋给var2 把其余所有的词赋给最后一个变量 如果执行read语句时标准输入无数据 则程序在此停留等侯 直到数据的到来或被中止运行

9、Shell程序和语句 example1forreadecho Inputyourname c readusernameecho Yournameis username example2forreadecho Inputdatewithformatyyyymmdd c readyearmonthdayecho Todayis year month day right echo Pressanykeytoconfirmandcontinue c readanswerecho Iknowthedate bye Shell程序和语句实例 expr算术运算命令expr主要用于进行简单的整数运算 包括加

10、减 乘 整除 和求模 等操作 例如 expr12 5 327 expr3 8 2 1 expr25 41 num 9 sum expr num 6 echo sum54 反斜线去掉 号的元字符含义 反撇号引用命令的运行结果 Shell程序和语句 testtest语句可测试三种对象 字符串整数文件属性每种测试对象都有若干测试操作符例如 test answer yes 变量answer的值是否为字符串yestest num eq18变量num的值是否为整数18test dtmp测试tmp是否为一个目录名 Shell程序和语句 dname测试name是否为一个目录 fname测试name是否为普通文

11、件 Lname测试name是否为符号链接 rname测试name文件是否存在且为可读 wname测试name文件是否存在且为可写 xname测试name文件是否存在且为可执行 sname测试name文件是否存在且其长度不为0f1 ntf2测试f1是否比f2更新f1 otf2测试f1是否比f2更旧 Shell程序和语句 文件测试 s1 s2测试两个字符串的内容是否完全一样s1 s2测试两个字符串的内容是否有差异 zs1测试s1字符串的长度是否为0 ns1测试s1字符串的长度是否不为0 Shell程序和语句 字符串测试 a eqb测试a与b是否相等a neb测试a与b是否不相等a gtb测试a是否

12、大于ba geb测试a是否大于等于ba ltb测试a是否小于ba leb测试a是否小于等于b Shell程序和语句 整数测试 tputtput命令主要用于设置终端工作模式 或读出终端控制字符 tput命令与终端控制代码数据库terminfo相连 根据shell环境变量TERM的值 读出这种终端的指定功能控制代码 常用的终端功能控制如下表 关闭所有属性 sgr0 光标位置到屏幕底清屏 ed 反白显示 rev 显示变暗 dim 结束下划线模式 rmul 光标移到r行c列 cuprc 结束突出显示模式 rmso 清屏 clear 启动下划线模式 smul 粗体字显示 bold 启动突出显示模式 sm

13、so 闪烁显示 blink 光标位置到行末清字符 el 终端响铃 bel 功能 选项 功能 选项 知识点5 Shell程序和语句 应用实例一 program1fortput tputcleartputcup1130tputrevecho Hello everybody tputsgr0tputcup241该程序先清屏 并在屏幕中央位置 11行23列 用反极性显示字符串 Hello everybody 恢复正常显示极性后光标停留在屏幕左下角 Shell程序和语句 应用实例二 program2fortput bell tputbel s uline tputsmul e uline tputrmu

14、l tputcleartputcup1020echo bell s ulineecho ComputerDepartment echo e uline功能 响一声铃后 在清空的屏幕中央以下划线模式显示字符串 ComputerDepartment 注意在 bell和 s uline之间的空格将同样在屏幕上显示 使ComputerDepartment的实际位置向右移动一格 Shell程序和语句 结构性语句主要根据程序的运行状态 输入数据 变量的取值 控制信号以及运行时间等因素来控制程序的运行流程 主要包括 条件测试语句 两路分支 多路分支语句 循环语句 循环控制语句和后台执行语句等 无任何结构性语

15、句的shell程序是一种特例 知识点6 结构性语句 if then fi语法结构 if表达式then命令表fi如果表达式为真 则执行命令表中的命令 否则退出if语句 即执行fi后面的语句 if和fi是条件语句的语句括号 必须成对使用 命令表中的命令可以是一条 也可以是若干条 结构性语句 shell程序prog2 测试命令行参数是否为已存在的文件或目录 用法为 prog2file内容如下 Thestatementofif then fi 注释语句 if f 1 测试参数是否为文件 thenecho File 1exists 引用变量值 fiif d HOME 1 测试参数是否为目录 thenec

16、ho File 1isadirectory 引用变量值 fi 结构性语句 执行prog2程序 prog2prog1Fileprog1exists 0为prog2 1为prog1 是一个已存在的文件 prog2backupFilebackupisdirectory 0为prog2 1为backup 是一个已存在的目录 如果不带参数 或大于一个参数运行prog2 例如 prog2 或 prog2file1file2 将会出现什么结果 结构性语句 if then else fi语法结构为 if表达式then命令表1else命令表2fi如果表达式为真 则执行命令表1中的命令 退出if语句 否则执行命令表2中的语句 退出if语句 注意 无论表达式是否为真 都有语句要执行 结构性语句 test命令的使用test命令测试的条件成立时 命令返回值为真 0 否则返回值为假 非0 test name eq 1echo 方式1 iftest f filenamethen fi 方式2 if f filename then fi 方式3 用方括号替代test语句 至少一个空格 至少一个空格 结构性语句 例子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号