Shell学习心得课件

上传人:石磨 文档编号:256309432 上传时间:2022-02-19 格式:PPT 页数:20 大小:115KB
返回 下载 相关 举报
Shell学习心得课件_第1页
第1页 / 共20页
Shell学习心得课件_第2页
第2页 / 共20页
Shell学习心得课件_第3页
第3页 / 共20页
Shell学习心得课件_第4页
第4页 / 共20页
Shell学习心得课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Shell学习心得课件》由会员分享,可在线阅读,更多相关《Shell学习心得课件(20页珍藏版)》请在金锄头文库上搜索。

1、单击此处编辑母版标题样式单击此处编辑母版副标题样式Shell学习心得1Shell编程学习总结陈龙Shell学习心得内容1.Shell概述 2.Shell语法Shell学习心得Shell概述 (特点)oShell是解释性的,多数高级语言是编译性的;oShell语言与高级语言处理的对象不同;oShell与系统有密切的关系;oShell易编写、调试、灵活性较强,但速度低;oShell作为命令级语言,命令组合功能很强。Shell学习心得Shell概述 (种类)osh - Bourne Shell,是最常用的Shell,标准shell(有时安装成bsh)。oksh - Korn Shell,由Bourn

2、e Shell通过增加History和命令行编辑功能演变而来。osh - POSIX Shell,与Korn Shell相似,是Bourne Shell的高级版本。POSIX标准要求被安装成sh。ocsh - C Shell,是基于C语言的Shell。obash - Born Again Shell(bash),是Korn Shell的超集,又包括不少C Shell语法。但不常用。Redhat Linux缺省的shell。otcsh - C Shell的一个版本,包括交互式的命令行编辑。ozsh - Z Shell是复杂的,但却具有优良特性的Shell。它能模拟Korn、C或POSIX She

3、ll。也不常用。 Shell学习心得Shell概述 (语法类型)oShell有两种主要语法类型:Bourne和C,彼此不兼容nBourne家族:sh ksh bash psh zshnC 家族:csh tcsh n其中: bash和 zsh在不同程度上支持 csh 的语法n本文档提到的语法,以bsh为主Shell学习心得Shell概述 (常用命令)o大致划分为以下几类:目录操作与管理、文件操作与管理命令、系统管理与维护、用户管理与维护、 系统状态、进程管理、通讯命令 、 其它命令 nawknbcbgncatchmodchowncpcronndate dfdiff dunechoexprn fg

4、ngrepninitnkill nln loginnlsmail makeman mkdir mkfs mount mvnnohupnpg pwdps pr pwd nread rmnsedsortsyncntailteenwcShell学习心得Shell语法1. 如果Script的第一个非空白字符不是#,则它会使用Bourne Shell。 2. 如果Script的第一个非空白字符是#时,但不以#!开头时,则它会使用C Shell。 3. 如果Script以“#!”开头,则“#!”后面所写的就是所使用的Shell,而且要将整个路径名称指出来。 建议使用第三种方式指定Shell ,以确保所执行

5、的就是所要的。Bourne Shell的路径名称为/bin/sh ,而C Shell 则为/bin/csh。Shell学习心得Shell语法 (变量)用户自定义变量特殊变量系统环境变量数组变量Shell学习心得Shell语法 (变量)用户自定义变量用户定义的变量由字母或下划线打头,由字母、数字或下划线序列组成,并且大小写字母意义不同。变量名长度没有限制。在使用变量值时,要在变量名前加上前缀“$”如果用双引号“”将值括起来,则括起来的字符串允许出现空格、制表符和换行符的特殊字符,而且允许有变量替换如果用单引号将值括起来,则括起来的字符串允许出现空格、制表符和换行符的特殊字符,但不允许有变量替换引

6、用变量的值时,可以用花括号将变量名称括起来,使变量名称与它的后续字符分隔开Shell学习心得Shell语法 (变量)特殊变量$* 这个程序的所有参数 $# 这个程序的参数个数 $ 这个程序的PID $! 上一个后台指令的PID $? 上一个指令的返回值Shell学习心得Shell语法 (变量)系统环境变量 /etc/profile:定义系统全局的工作环境,用户主目录下的.profile:定义该用户的工作环境主要环境变量有: HOME 用户主目录 PATH 搜索路径 PS1 shell提示符 PWD 用户当前所处的目录 MAIL 邮箱的路径 TERM 使用的终端类型Shell学习心得Shell语

7、法 (变量)数组变量在bash中,多个元素的设置方式如下: name=(value1 value2 valuen)array=(abcde)这样:$array0=a$array3=dShell学习心得Shell语法 (条件控制)If、then、else语法if 条件1then 命令1elif 条件2then 命令2else 命令3fi例子:#!/bin/shif$#-ne2;thenechoNotenoughparametersexit0fiif$1-eq$2;thenecho$1equals$2elif$1-lt$2;thenecho$1littlerthan$2elif$1-gt$2;th

8、enecho$1greaterthan$2fiShell学习心得Shell语法 (条件控制)case语法 case value in pattern1) command11 command1n; pattern2) command21 command2n; patternn) commandn1 commandnn;esac例子:#!/bin/shreadopcase$opinC)echoyourselectionisCopy;D)echoyourselectionisDelete;B)echoyourselectionisBackup;*)echoinvalideselectionesacS

9、hell学习心得Shell语法 (条件控制)for语法 1. for variable in arg1 arg2 argndocommand command done 2. for ( 初始值; 限制值; 执行步骤 )do程式段done例子:#!/bin/bashforDAYinSundayMondayTuesdayWednesdayThursdayFridaySaturdaydoechoThedayis:$DAYdoneShell学习心得Shell语法 (条件控制)while语法只要测试条件保持为真时就继续执行。一旦条件为假,它就终止执行。while commanddocommanddone

10、例子:#!/bin/shnum=1while$num-le10dosquare=expr$num*$numecho$squarenum=expr$num+1doneuntil语法只要测试条件保持为假时就继续执行。一旦条件为真,它就终止执行。 until condition do command block done#!/bin/shnum=10until$num-le0dosquare=expr$num*$numecho$squarenum=expr$num-1doneShell学习心得Shell语法 (计算方法)shell默认是用来处理字符串的,所以如果你直接运行:echo1+1它会直接输出

11、1+1,而不会输出2。如果需要计算表达式的值,则只需用“$(”和“)”将表达式括起。echo$(1+1)Shell学习心得Shell语法 (条件控制)1.break是用来打断循环,也就是“强迫结束”循环。2.若break后面指定一个数值n的话,则从里向外打断第n个循环.3.默认值为break1,也就是打断当前的循环。在使用break时需要注意的是,它与return及exit是不同的:1.break是结束loop2.return是结束function3.exit是结束script/shell1.continue是强迫进入下一次循环动作。2.简单的看成:continue到done之间的句子略过而返

12、回循环顶端.3.continue后面也可指定一个数值n,以决定继续哪一层(从里向外计算)的循环,默认值为continue1,也就是继续当前的循环。Shell学习心得Shell语法 (函数)函数的定义: 函数名 () 命令序列 函数的调用:不带() 函数名 参数1 参数2 shell中是不能直接获得函数的返回值的,如果你要用函数返回值,只能用全局变量传输。shell中的变量默认都是全局的,除非你在前面加了local修饰符。shell会把函数返回值放在$?全局变量中,你可以用$? 来取得前个函数调用的返回值。$*可以获得函数的所有输入参数,$1表示第一个参数,以此类推。 例子add()result=0fornin$*doresult=$($result+$n)donereturn$result执行:add123echo$?echo$result输出结果都为6Shell学习心得Shell语法 (函数)set 函数功能说明:设置shell。语法:set +-abCdefhHklmnpPtuvx补充说明:set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。+ 取消某个set曾启动的参数。Shell学习心得

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

当前位置:首页 > 办公文档 > 教学/培训

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