Linux2SHELL编程.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Linux2SHELL编程.ppt》由会员分享,可在线阅读,更多相关《Linux2SHELL编程.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 SHELL编程 讲师:张浒滨shell脚本能提高用户操作和管理员进行系统管理的效率,一般步骤1.编辑器编写脚本程序2.shell做解释程序,非交互地执行脚本,两种执行方式:1.用sh命令执行脚本文件2.给脚本文件添加执行权限,用./命令执行2 2Shell的功能3 34 45 5HELLO WORLD!1.vi hello.shn按i进入插入模式n输入echo“hello world!”n:输入wq保存退出2.sh hello.sh或者chmod 755 hello.sh./hello.sh6 6一、VI编辑器1.VI的两种工作模式2.VI的启动3.VI的退出4.VI的文本编辑5.VI命令模
2、式下的操作7 7 VI 编辑器的使用编辑器的使用系统配置文件、shell脚本文件等都是文本文件,编辑它们都要使用文本编辑器。在Linux系统中有多种文本编辑器,其中既有字符界面如的VI、EMACAS等,也有图形界面的如“附件”菜单下的“文本编辑器(gedit)”等,用户可以根据自己的喜好选择使用。学习vi的方法:vi的命令太多且难以记忆,而实际上真正经常使用的命令并不是太多,只要掌握几个关键的并加以适当练习很快就上手使用vi。8 8为什么选择VI就使用的方便性而言,有比vi更好的编辑器,还要图形化的gedit,为什么还要用vi?历史久远,功能强大,在有些情况下系统中能够找到的编辑器只有vi;用
3、户一旦熟悉后,使用可以极大地提高工作效率,而学习vi也是掌握正则表达式的有效途径。非常方便;系统管理员使用正则表达式由于vi的版本不同,其命令格式、功能和用法会有一些差别。Shell中执行vi命令,RedHat系统实际上是执行vim,它是传统vi的增强版本9 91、VI的两种工作模式命令模式启动VI默认进入命令模式。此时界面不能编辑,只能接受命令(键入的命令看不到)文件的保存,退出,文本的删除、复制、搜索等操作输入模式编辑模式 命令模式下用i(nsert),a(ppend),o,s等均可进入该模式。按esc返回命令模式10102、VI的启动启动命令:vi my.txt如果文件存在,则vi显示文
4、件内容并等待用户的命令。如果指定的文件不存在,则vi将告知用户这是未命名的文件,并进入一个空白的界面。启动vi时都是默认处于命令模式。用户必须使用命令切换到文本输入模式才能进行输入编辑,或者可执行删除、复制等编辑命令。3、VI的退出冒号进命令模式下::q!不存档强制退出。:w 保存但不退出,w(rite)后可加所要存档的文档名。:wq 存档后退出。1212二、SHELL变量与语法1.Shell概述2.shell变量和符号3.shell控制流程语法4.shell中的输出重定向5.脚本实例1313 SHELL变量与语法变量与语法一、Shell概述1 1、shellshell的基本元素的基本元素(1
5、 1)#!/bin/bash/bin/bash 必须的,指出必须的,指出shellshell的类型的类型(2 2)#注释注释(3 3)变量)变量(4 4)控制)控制14142、一般步骤:(1)编辑文件(2)保存文件(3)将文件赋予可执行的权限(4)运行及排错15151616注意:1.一般以.sh为文件后缀。2.常见的两种执行方式./文件名 在当前目录下写明路径执行,要求文件必须有执行权限,如chmod 755 run.sh./run.shsh 文件名sh run.sh3.文件开头指定一个或多个解释脚本程序的shell,如#!/bin/bash如果指定,注意/bin不要漏了“/”,否则用./方式
6、执行会找不到路径。不指定的话一般默认以/bin/sh执行shell脚本171718183、Shell的一般结构的一般结构 shell 类型类型 函数 主过程一般模板 abc.sh#!/bin/bash shell类型#a simple shell script example#a functionfunciton sayhello()函数echo Enter Your name:read name 读取来自键盘输入的变量echo Hello$nameecho programme starts here.主过程sayhelloecho programme ends.二、Shell中的特殊符号1、
7、注释符#除了#!/bin/bash里的#特殊2、美元符$变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如$a表示变量a的值。变量过长时,建议用括起来3、单引号被引起的字符全部做普通字符,即全部原样echo my$SHELL19194、双引号引号内的内容,除$、转义符、倒引号这三个保留特殊功能,其他字符均做普通字符。5、倒引号(数字1键旁边的那个键,英文输入法)引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分。例:linux-n3so:echo 我当前的目录是 pwd,我的登录姓名是$LOGNAME 执行结果为:我当前的目录是/home/zhangyu8
8、61022,我的登录姓名是zhangyu8610222020练习一下:区别下面几句 echo my home is$HOME echo“my home is$HOME”echo my home is$HOME echo“my home is pwd”echo my home is pwd 用于括起来用于括起来shell命令命令 用于原样显示用于原样显示6.反斜线 反斜线是转义字符,它能把特殊字符变成普通字符。在某个字符前面利用反斜杠()能够阻止shell把后面的字符解释为特殊字符。注意:在单引号括起来的字符串中,反斜线也成为普通字符,而失去转义字符功能。2222三、变量shell 变量 可以保
9、存如路径名、文件名或者一个数字本地变量 局部变量只在创建它们的Shell中使用,可以在shell程序内任意使用和修改它们。环境变量 可以在创建它们的Shell及其派生出来的任意子程序中使用。有些变量是用户创建的,其他的则是专用的(比如PATH、HOME)。是系统环境的一部分,不必去定义它们,可以在shell程序中使用它们。还能在shell中加以修改。内部变量 由系统提供的。与环境变量不同,但用户不能修改它们。23232424本地变量和环境变量的对比本地变量和环境变量的对比zhangyu861022linux-n3so:env|sort|lesszhangyu861022linux-n3so:n
10、ame=zhbbash:name:command not foundzhangyu861022linux-n3so:bashzhangyu861022linux-n3so:name=zhbzhangyu861022linux-n3so:echo$namezhbzhangyu861022linux-n3so:123=sspbash:123=ssp:command not foundzhangyu861022linux-n3so:1、本地变量(局部变量、用户变量)2525u本地变量本地变量 在用户现在的在用户现在的shell生命期的脚本中使用生命期的脚本中使用u 变量名变量名=值值注意:注意:(1
11、)等号两边不可以有空格)等号两边不可以有空格 (2)取值包含空格,必须用双引号括起来)取值包含空格,必须用双引号括起来 (3)Shell变量可以用大小写字母,区分大小写变量可以用大小写字母,区分大小写u变量的声明和使用(1)变量是弱类型的(不用声明类型)(2)变量声明及赋值格式 变量=值(等号两边不能有空格)(3)变量的引用$变量名$变量名 变量名为1个字符时建议使用方式一,多余一个字符时建议使用方式二 举例:$a$abc 2626u显示变量 echo命令可以显示单个变量取值,变量名前加$2727echo$Nameecho$nameecho$nameareecho$name are输出引用变量
12、时加输出引用变量时加比较好比较好u清除变量:unset 变量名 举例:echo$name unset name(注意:name前没有$)显示本地所有变量 set2828u设置只读变量设置变量时,不想再改变其值,可以将之设为只读变量变量名=值2、环境变量2929环境变量用于所有用户进程(通常称为子进程)。登陆进程称为父进程,通过pstree可以查看u环境变量可以用于所有子程序,包括编辑器、脚本和应用 举例:vi a.sh#!/bin/bash#检测环境变量 echo 家目录是$HOMEu 环境变量可以在命令行中设置,但用户注销时这些值将丢失,环境变量均为大写,必须用export命令导出设置环境变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux2SHELL 编程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内