shell编程基础(初学入门).ppt
《shell编程基础(初学入门).ppt》由会员分享,可在线阅读,更多相关《shell编程基础(初学入门).ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ShellShell编程基础编程基础龚龚 关关 gong.guangong.guangdgd-Shell基础基础n什么是什么是shellshellshell是计算机用来解释你输入的命令然后决定进行何种处理的程序。是用户和Linux内核之间的接口程序。也在非交互模式下调用。Shell分类分类n在Linux系统下有几个不同的shell:nbashBourneAgainshell是Bourneshell的扩展nshBourneshell,在很多UNIX下是标准的shellncshCshell,和C语言语法相近,大部分UNIX下有效npdkshpublicdomainKornshellntcsh微型C
2、shell,在小的系统里经常使用nBashshell是GNU计划的重要工具软件之一nBashshellGNU操作系統中标准的shell.n查看你自己的shell类型:echo$SHELLshell基本语法基本语法n输入输出重定向n“”和“”和“:正确重定向n2:错误重定向n&:正确和错误一起重定向shell基本语法基本语法n管道pipencommand1|command2|command3.n前台和后台n“;”和“&”n执行顺序n&和|Shell环境变量环境变量n环境变量nshell在开始执行时就已经定义了一些和系统的工作环境有关的变量,这些变量用户还可以重新定义;用户可以用set、env命令
3、查看n$HOME使用者自己的目录n$PATH执行命令时所搜寻的目录n$TZ时区n$MAILCHECK每隔多少秒检查是否有新的信件n$PS1在命令列时的提示号n$PS2当命令尚未打完时,Shell要求再输入时的提示号n$MANPATHman指令的搜寻路径Shell预定义变量预定义变量n预定义变量n预定义变量和环境变量相类似,也是在shell一开始时就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的n$0这个程式的执行名字n$n这个程式的第n个参数值,n=1.9n$*这个程式的所有参数n$#这个程式的参数个数n$这个程
4、式的PIDn$!执行上一个背景指令的PIDn$?执行上一个指令的返回值Shell预定义变量举例预定义变量举例#!/bin/bashecho$0echo$1$2$3echo$#echo$echo$*Shell用户变量用户变量n用户定义的变量n变量名=变量值ndeclare-afirx变量名=变量值n变量名前不应加符号“$”,在引用变量的内容时则应在变量名前加“$”;n在给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字符串都要用双引号括起来n建议所有的变量名都用大写字母来表示n变量的只读性:readonly变量名n整个shell使用变量export变量名Shell用户变量举
5、例用户变量举例n用户定义的变量#!/bin/bashname=V.Birdmyname1=Mynameis$namemyname2=Mynameis$nameecho$nameecho$myname1echo$myname2shell特殊符号使用特殊符号使用nshellshell使用两种引号和反斜线使用两种引号和反斜线n双引号双引号“”“”(让引号内的变量生效)(让引号内的变量生效)n单引号单引号(引号内的变量当作一个字符使用)(引号内的变量当作一个字符使用)n反斜线反斜线(禁用特殊字符功能(禁用特殊字符功能$)n后引号(让引号内的命令生效)后引号(让引号内的命令生效)rootgdlcshel
6、l#var=gongrootgdlcshell#echovaris$varvarisgongrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echolsfileggg.shtime.shttt.shshell逻辑判断逻辑判断n逻辑判断逻辑判断n1.文件与目录文件与目录-f文件是否存在文件是否存在-d目录是否存在目录是否存在-b是否为是否为block文件文件-c是否为是否为character文件文件-S
7、是否为是否为socket文件文件-L是否为是否为symboliclink文件文件-e是否存在!是否存在!n2.程序程序-G是否由是否由GID所执行的程序所拥有所执行的程序所拥有-O是否由是否由UID所执行的程序所拥有所执行的程序所拥有n3.文件属性文件属性-r是否为可读的屬性是否为可读的屬性-w是否为可以写入的屬性是否为可以写入的屬性-x是否为可執行的屬性是否为可執行的屬性-s是否为非空白文件是否为非空白文件-u是否具有是否具有SUID的屬性的屬性-g是否具有是否具有SGID的屬性的屬性n4.两个文件之间的对比两个文件之间的对比-nt第一个文件比第二个文件新第一个文件比第二个文件新-ot第一个
8、文件比第二个文件旧第一个文件比第二个文件旧-ef第一个文件与第二个文件为同一文件(第一个文件与第二个文件为同一文件(link之类)之类)shell运算运算n运算运算=等于等于!=不等于不等于大于大于-eq等于等于-ne不等于不等于-lt小于小于-gt大于大于-le小于或等于小于或等于-ge大于或等于大于或等于-a双方都成立(双方都成立(and)-o单方成立(单方成立(or)-z空字串空字串-n非空字串非空字串shell逻辑判断与运算举例逻辑判断与运算举例if-d$fileif-d$filethenthenecho“$file is a directory”echo“$file is a dir
9、ectory”elifelif-f$file-f$filethenthenif-r$file a w$file a x$fileif-r$file a w$file a x$filethenthenecho“you have r-w-x permission on$file.”echo“you have r-w-x permission on$file.”fifielseelseecho“$file is neither a file nor a directory”echo“$file is neither a file nor a directory”fifi正则表达式正则表达式n正则表达
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- shell 编程 基础 初学 入门
限制150内