欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    SHELL脚本简单应用培训.ppt

    • 资源ID:6519114       资源大小:703KB        全文页数:63页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SHELL脚本简单应用培训.ppt

    SHELL脚本简单应用培训 西藏BI项目组 尤建,内容提纲,一、SHELL简介,二、SHELL基础知识,三、基础SHELL编程,概念简介,什么是shell程序呢?简单的说shell程序就是一个包含若干行shell或者linux、unix等命令的文件.目前流行的Shell有ash、bash、ksh、csh、zsh等。你可以用命令来查看你自己的Shell类型:#echo$SHELL,Shell应用,在Linux、Unix系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。Linux、Unix中有好多中不同的shell,但是通常我们使用bash(bourne again shell)进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell 中运行)。我们今天主要和大家一起讨论B-Shell。,Shell基础知识,如同其他语言一样,通过我们使用任意一种文字编辑器比如nedit、kedit、emacs、vi、UE等来编写我们的shell程序。程序以下面的行开始(必须方在文件的第一行):#!/bin/sh(很多Unix、Lunix默认shell类型都是B-Shell)符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:chmod+x filename您可以通过输入:./filename 来执行您的脚本。在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。,内容提纲,一、SHELL简介,二、SHELL基础知识,三、基础SHELL编程,Shell基础知识-文件安全与权限,1、文件属性:当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:文件的位置。文件类型。文件长度。哪位用户拥有该文件,哪些用户可以访问该文件。i节点。文件的修改时间。文件的权限位。,Shell基础知识-文件安全与权限,2、文件类型:文件类型有七种,它可以从ls-l命令所列出的结果的第一位看出,这七种类型是:d 目录。l 符号链接(指向另一个文件)。s 套接字文件。b 块设备文件。c 字符设备文件。p 命名管道文件。-普通文件,或者更准确地说,不属于以上几种类型的文件。,Shell基础知识-文件安全与权限,3、文件权限:文件看到的文件大部分是是普通文件或符号链接文件。文件属主权限组(g)用户权限(u)其他用户权限(o)改变权限命令:chmod mode file EG:(1)chmod chmod u+x(r/w)myfile(2)chmod 777 myfile,Shell基础知识-文件安全与权限,4、文件权限:文件看到的文件大部分是是普通文件或符号链接文件。文件属主权限组(g)用户权限(u)其他用户权限(o)改变权限命令:chmod mode file EG:(1)chmod chmod u+x(r/w)myfile(2)chmod 777 myfile,Shell基础知识-文件安全与权限,5、符号链接:一般命令格式:ln-s source_path target_path EG:(1)ln/tmp/var/tmp(2)ln/home/user/public/.profile/public/.profile,Shell基础知识-文件安全与权限,6、改变文件宿主:chown命令的一般形式为:chown-R-h owner file chmod-cfhvR-help-version user:group fileEG:(1)chown public test.sh(2)chown dbauser:dba test.sh(3)chown R dbauser:dba/tmp/test,Shell基础知识-使用find和xargs,1、FIND命令:FIND命令的一般形式为:find pathname-options-print-exec-ok参数说明:pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print find命令将匹配的文件输出到标准输出。-exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为 command;,注意 和;之间的空格。-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shel l命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。,Shell基础知识-使用find和xargs,find命令选项:f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠-。参数说明:-name 按照文件名查找文件。-perm 按照文件权限来查找文件。-prune 使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用了-depth选项,那么-p r u n e选项将被f i n d命令忽略。-user 按照文件属主来查找文件。-group 按照文件所属的组来查找文件。-mtime-n+n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。F i n d命令还有-a t i m e和-c t i m e选项,但它们都和-m t i m e选项相似。-nogroup 查找无有效所属组的文件,即该文件所属的组在/e t c/g r o u p s中不存在。,Shell基础知识-使用find和xargs,-nouser 查找无有效属主的文件,即该文件的属主在/e t c/p a s s w d中不存在。-newer file1!file2 查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件。-type 查找某一类型的文件,诸如:b-块设备文件。d-目录。c-字符设备文件。p-管道文件。l-符号链接文件。f-普通文件。-size nc 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/e t c/f s t a b中找到,该配置文件中包含了本系统中有关文件系统的信息。-mount 在查找文件时不跨越文件系统m o u n t点。-follow 如果f i n d命令遇到符号链接文件,就跟踪至链接所指向的文件。-cpio 对匹配的文件使用c p i o命令,将这些文件备份到磁带设备中。,Shell基础知识-使用find和xargs,2、xargs:在使用f i n d命令的-e x e c选项处理匹配到的文件时,f i n d命令将所有匹配到的文件一起传递给e x e c执行。不幸的是,有些系统对能够传递给e x e c的命令长度有限制,这样在f i n d命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是x a rg s命令的用处所在,特别是与f i n d命令一起使用。EG:下面的例子在/a p p s/a u d i t目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限:$find/apps/audit-perm-7-print|xargs chmod o-w在下面的例子中,我们用g r e p命令在所有的普通文件中搜索d e v i c e这个词:$find/-type f-print|xargs grep-i device在下面的例子中,我们用g r e p命令在当前目录下的所有普通文件中搜索D B O这个词:$find.-name-type f-print|xargs grep DBO 注意,在上面的例子中,用来取消f i n d命令中的*在s h e l l中的特殊含义。,Shell基础知识-后台执行命令,名词解释:cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。At at命令。使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或高峰负荷时间段运行。&使用它在后台运行一个占用时间不长的进程。Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响。,Shell基础知识-后台执行命令,1、cron和crontab:cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。有一个叫做的命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。创建(恢复)crontab文件:crontab crontab的域:第1列分钟15 9第2列小时12 3(0表示子夜)第3列日13 1第4列月11 2第5列星期06(0表示星期天)第6列要运行的命令,Shell基础知识-后台执行命令,(2)下面是crontab的格式:分时日月星期要运行的命令 其中表示空格。EG:45 4 1,10,22*/apps/bin/backup.sh 上面的例子表示每月1、1 0、2 2日的4:4 5运行/a p p s/b i n目录下的b a c k u p.s h。10 1*6,0/bin/find-name core-exec rm;上面的例子表示每周六、周日的1:1 0运行一个f i n d命令。(3)crontab命令的一般形式为:Crontab-u user-e-l r其中:-u 用户名。-e 编辑c r o n t a b文件。-l 列出c r o n t a b文件中的内容。-r 删除c r o n t a b文件。,Shell基础知识-后台执行命令,(2)下面是crontab的格式:分时日月星期要运行的命令 其中表示空格。EG:45 4 1,10,22*/apps/bin/backup.sh 上面的例子表示每月1、1 0、2 2日的4:4 5运行/a p p s/b i n目录下的b a c k u p.s h。10 1*6,0/bin/find-name core-exec rm;上面的例子表示每周六、周日的1:1 0运行一个f i n d命令。(3)crontab命令的一般形式为:Crontab-u user-e-l r其中:-u 用户名。-e 编辑c r o n t a b文件。-l 列出c r o n t a b文件中的内容。-r 删除c r o n t a b文件。,Shell基础知识-后台执行命令,2、at命令:a t命令的基本形式为:at-f script-m-l-r time date其中,-f script 是所要提交的脚本或命令。-l 列出当前所有等待运行的作业。a t q命令具有相同的作用。-r 清除作业。为了清除某个作业,还要提供相应的作业标识(I D);有些U N I X变体只接受a t r m作为清除命令。-m 作业完成后给用户发邮件。time at命令的时间格式非常灵活;可以是H、H H.H H M M、H H:M M或H:M,其中H和M分别是小时和分钟。还可以使用a.m.或p.m.。date 日期格式可以是月份数或日期数,而且a t命令还能够识别诸如 today、tomorrow这样的词。,Shell基础知识-后台执行命令,清除作业的命令格式为:atrm job no或 at-r job no 要清除某个作业,首先要执行at-l命令,以获取相应的作业标识,然后对该作业标识使用at-r 命令,清除该作业$at l 1 2009-11-01 23:00 a 2 2009-11-02 10:00 b 3 2009-11-03 00:00 c$atrm job 3$at l 1 2009-11-01 23:00 a 2 2009-11-02 10:00 b 有些系统使用at-r job no命令清除作业。,Shell基础知识-后台执行命令,3、&命令:当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。该命令的一般形式为:命令&EG:command out.file 2&1&在上面的例子中,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。,Shell基础知识-后台执行命令,4、nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户之后继续运行相应的进程。Nohup就是不挂起的意思(nohang up)。该命令的一般形式为:nohup command&EG:nohup command myout.file 2&1 在上面的例子中,输出被重定向到myout.file文件中。注意:如果没有指定日志文件的话,系统会默认为写在nohup.out文件中。,Shell基础知识-文件名置换,当你在使用命令行时,有很多时间都用来查找你所需要的文件。S h e l l提供了一套完整的字符串模式匹配规则,或者称之为元字符,这样你就可以按照所要求的模式来匹配文件。还可以使用字符类型来匹配文件名。下面就是这些特殊字符:*匹配文件名中的任何字符串,包括空字符串。?匹配文件名中的任何单个字符。.匹配 中所包含的任何字符。!.匹配 中非感叹号!之后的字符。,Shell基础知识-文件名置换,(1)使用*:使用星号*可以匹配文件名中的任何字符串。EG:ls*.doc(2)使用?:使用可以匹配文件名中的任何单个字符。EG:ls?conf.*.log(3)使用.和!.:使用.可以用来匹配方括号 中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。EG:A.列出了以i或o开头的文件名:ls io B.使用!0-9*来表示非数字开头的字符串,其中!是非的意思:ls log.!0-9*C.为了列出所有以大写字母开头的文件名,可以用:ls A-Z*,Shell基础知识-shell输入与输出,1、echo:它的一般形式为:echo stringe c h o命令有很多功能,其中最常用的是下面几个:c 不换行 f 进纸 t 跳格 n 换行,Shell基础知识-shell输入与输出,2、read:它的一般形式为:read varible1 varible2.EG:$read name$Hello,my name is Tom.$echo$name Hello,my name is Tom.$pg var_test.sh#!/bin/sh echo“First charactor is:c”read name echo“Sencond character is:c”read name$var_test.sh$Zhang San$First charactor is:Zhang$Sencond character is:San,Shell基础知识-shell输入与输出,3、cat:c a t是一个简单而通用的命令,可以用它来显示文件内容,创建文件,还可以用它来显示控制字符。在使用c a t命令时要注意,它不会在文件分页符处停下来;它会一下显示完整个文件。如果希望每次显示一页,可以使用m o r e命令或把c a t命令的输出通过管道传递到另外一个具有分页功能的命令中.c a t命令的一般形式为:cat options filename1.filename2.$cat myfile|more 或$cat myfile|pgEG:(1)如果希望显示myfile1 myfile2 myfile3这三个文件同时创建myfile文件,可以用:$cat myfile1 myfile2 myfile3 myfile还可以使用c a t命令来显示控制字符。cat v filenameCat写文件时,末尾按结束。,Shell基础知识-shell输入与输出,3、cat:它的一般形式为:read varible1 varible2.EG:$read name$Hello,my name is Tom.$echo$name Hello,my name is Tom.$pg var_test.sh#!/bin/sh echo“First charactor is:c”read name echo“Sencond character is:c”read name$var_test.sh$Zhang San$First charactor is:Zhang$Sencond character is:San,Shell基础知识-shell输入与输出,4、管道:它的一般形式为:命令1|命令2,其中|是管道符号。EG:$ls|grep-i“sh”$ps ef|grep i sh$df k|awk print$1|grep i“/tmp”,Shell基础知识-shell输入与输出,5、tee:它的一般形式为:tee-a files(其中,-a表示追加到文件末尾)。EG:$who|tee who.out$group|tee group.out$test.sh|tee-a./log/test.log,Shell基础知识-shell输入与输出,6、标准输入、输出和错误:当我们在s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,s h e l l同时也给出了相应的文件名。文件文件描 述符 输入文件标准输入 0 输出文件标准输出 1 错误输出文件标准错误 2,Shell基础知识-shell输入与输出,标准输入 标准输入是文件描述符0。它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。标准输出 标准输出是文件描述符1。它是命令的输出,缺省是屏幕,也可以是文件。标准错误 标准错误是文件描述符2。这是命令错误的输出,缺省是屏幕,同样也可以是文件。你可能会问,为什么会有一个专门针对错误的特殊文件?这是由于很多人喜欢把错误单独保存到一个文件中,特别是在处理大的数据文件时,可能会产生很多错误。如果没有特别指定文件说明符,命令将使用缺省的文件说明符(你的屏幕,更确切地说是你的终端)。,Shell基础知识-shell输入与输出,7、文件重定向:,Shell基础知识-正则表达式介绍,Shell基础知识-grep家族,grep一般格式为:grep 选项基本正则表达式文件 这里基本正则表达式可为字符串。常用的grep选项有:-c 只输出匹配行的计数。-i 不区分大小写(只适用于单字符)。-h 查询多文件时不显示文件名。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示匹配行及行号。-s 不显示不存在或无匹配文本的错误信息。-v 显示不包含匹配文本的所有行。,Shell基础知识-grep家族,EG:grep“table”test.shfind./-name“*.sh”|grep 1*.sh ps ef|grep i tomcat,Shell基础知识-sed 介绍,调用s e d有三种方式:1.在命令行键入命令;2.将sed命令插入脚本文件,然后调用sed;3.将sed命令插入脚本文件,并使sed脚本可执行。,Shell基础知识-sed 介绍,sed编辑命令p 打印匹配行=显示文件行号a 在定位行号后附加新文本信息i 在定位行号后插入新文本信息d 删除定位行c 用新文本替换定位文本s 使用替换模式替换相应模式r 从另一个文件中读文本w 写文本到一个文件q 第一个模式匹配完成后推出或立即推出l 显示与八进制A S C I I代码等价的控制字符 在定位行执行的命令组n 从另一个文件中读文本下一行,并附加在下一行g 将模式2粘贴到/pattern n/y 传送字符n 延续到下一输入行;允许跨行的模式匹配语句,Shell基础知识-sed 介绍,1、使用p(rint)显示行:sed n 2p test.sh-显示第2行2、打印范围:sed n 1,3p test.sh-显示1-3行3、打印模式:sed n/while/p test.sh-在文件中找包含while行4、显示整个文件:sed n 1,$p test.sh5、模糊匹配:sed-n/*ing/p test.sh,Shell基础知识-sed 介绍,6、打印行号:sed n/while/=test.sh7、删除文本:sed n 1d test.sh sed n$d test.sh sed n 1,3d test.sh,Shell基础知识-sed 介绍,8、a d d r e s s,address s/pattern-to-find/replacement-pattern/g p w ns选项通知s e d这是一个替换操作,并查询p a t t e r n-t o-f i n d,成功后用r e p l a c e m e n t-p a t t e r n替换它。替换选项如下:g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。p 缺省s e d将所有被替换行写入标准输出,加p选项将使-n选项无效。-n选项不打印输出结果。w 文件名使用此选项将输出定向到一个文件。一般命令:sed s/abc/123/g test.sh,内容提纲,一、SHELL简介,二、SHELL基础知识,三、基础SHELL编程,基础Shell编程-条件测试,test一般有两种格式,即:t est condition 或 c o n d i t i o n 1、文件状态测试:-d 目录-s 文件长度大于0、非空-f 正规文件-w 可写-L 符号连接-u 文件有s u i d位设置-r 可读-x 可执行-e文件是否存在2、用逻辑操作符:-a 逻辑与,操作符两边均为真,结果为真,否则为假。-o 逻辑或,操作符两边一边为真,结果为真,否则为假。!逻辑否,条件为假,结果为真。,基础Shell编程-条件测试,3、字符串测试:test“string”test string_operator“string”test“string”test string_operator“string”string_operator“string”“string”test string_operator“string”string_operator可为:=两个字符串相等。!=两个字符串不等。-z 空串。-n 非空串。,基础Shell编程-条件测试,4、测试数值:测试数值可以使用许多操作符,一般格式如下:test“number”numberoperator“number”或者“number”numberoperator“number”numberoperator可为:-eq 数值相等。-ne 数值不相等。-gt 第一个数大于第二个数。-lt 第一个数小于第二个数。-le 第一个数小于等于第二个数。-ge 第一个数大于等于第二个数。,基础Shell编程-条件测试,5、expr用法:expr命令一般用于整数值,但也可用于字符串。一般格式为:expr argument operator argument(1)数字运算(增量计数):$aa=3$expr$aa+1$expr$aa 2$expr$aa*2$expr$aa/2,基础Shell编程-条件测试,(2)数值测试:可以用expr测试一个数。如果试图计算非整数,将返回错误。$aa=123$expr$aa+1/dev/null 2&1$echo$?0$aa=“abc”$expr$aa+1/dev/null 2&1$echo$?1不幸的是返回值与系统最后退出命令刚好相反,成功返回1,任何其他值为无效或错误。,基础Shell编程-条件测试,(3)模式匹配:expr也有模式匹配功能。可以使用e x p r通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。$aa=“mydocument.doc”$expr$aa:.*14在expr中可以使用字符串匹配操作:A.这里使用模式.d o c抽取文件附属名。$expr$aa:(.*).doc mydocument B.这里使用模式 c 抽取文件附属名。$expr$aa:(.*)c mydocument.do,基础Shell编程-控制流结构,1、退出状态$exit n其中,n为一数字。退出状态0 退出成功,无错误。退出状态1 退出失败,某处有错误。$echo$?其中,$?为一数字:0/1,含义同上。,基础Shell编程-控制流结构,2、控制结构循环流控制2.1 流控制:i f、t h e n、e l s e语句提供条件测试。测试可以基于各种条件。例如文件的权限、长度、数值或字符串的比较。这些测试返回值或者为真(0),或者为假(1)。基于此结果,可以进行相关操作。在讲到条件测试时已经涉及了一些测试语法。c a s e语句允许匹配模式、单词或值。一旦模式或值匹配,就可以基于这个匹配条件作其他声明。,基础Shell编程-控制流结构,i f语句测试条件,测试条件返回真(0)或假(1)后,可相应执行一系列语句。i f语句结构对错误检查非常有用。其格式为:If 条件1 如果条件1为真Then 那么命令1 执行命令1elif 条件2 如果条件1不成立then 那么命令2 执行命令2else 如果条件1,2均不成立命令3 那么执行命令3fi 完成最常用的i f语句是if then fi结构。i f语句必须以单词f i终止。,(1)if then else语句,基础Shell编程-控制流结构,(2)case语句:c a s e语句为多选择语句。可以用c a s e语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。c a s e语句格式如下:case 值i n模式1 命令1.;模式2)命令2.;e s a c如果无一匹配模式,使用星号*捕获该值,再接受其他输入。模式部分可能包括元字符,与在命令行文件扩展名例子中使用过的匹配模式类型相同,即:*任意字符。?任意单字符。.类或范围中任意字符。,基础Shell编程-控制流结构,(3)for循环:f o r循环一般格式为:for 变量名i n列表d o命令1命令2d o n e当变量值在列表里,f o r循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的s h e l l命令和语句。变量名为任何单词。I n列表用法是可选的,如果不用它,f o r循环使用命令行的位置参数。,基础Shell编程-控制流结构,(4)until循环:u n t i l循环执行一系列命令直至条件为真时停止。u n t i l循环与w h i l e循环在处理方式上刚好相反。一般w h i l e循环优于u n t i l循环,但在某些时候也只是极少数情况下,u n t i l循环更加有用。u n t i l循环格式为:until 条件命令1.d o n e条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次请注意这一点。,基础Shell编程-控制流结构,(6)使用break和continue控制循环:break命令允许跳出循环。b r e a k通常在进行一些处理后退出循环或c a s e语句。如果是在一个嵌入循环里,可以指定跳出的循环个数。例如如果在两层循环内,用break 2刚好跳出整个循环。continue命令类似于b r e a k命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步。,基础Shell编程-控制流结构,2.2 菜单:菜单界面应是友好的,不应该让用户去猜做什么,主屏幕也应该带有主机名和日期,并伴随有运行此菜单的用户名。下面是个例子供参考:,基础Shell编程-shell函数,定义函数的格式为:函数名()命令1.或者函数名()命令1.两者方式都可行。如果愿意,可在函数名前加上关键字f u n c t i o n,这取决于使用者。f u n c t i o n 函数名().,基础Shell编程-shell函数,可以将函数看作是脚本中的一段代码,但是有一个主要区别。执行函数时,它保留当前s h e l l和内存信息。此外如果执行或调用一个脚本文件中的另一段代码,将创建一个单独的s h e l l,因而去除所有原脚本中定义的存在变量。函数可以放在同一个文件中作为一段代码,也可以放在只包含函数的单独文件中。函数不必包含很多语句或命令,甚至可以只包含一个e c h o语句,这取决于使用者。,基础Shell编程-shift命令,向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是s h i f t命令的功能。它每次将参数位置向左偏移一位。$pg shift_test.sh while$#-ne 0 do echo“$1”shift done$shift_test.sh para1 para2 para3 para1 para2para3,基础Shell编程-常用shell命令,简单交流,不足之处请谅解。欢迎共同探讨,联系方式:MOB:QQ:155101249Mail:,谢谢!,

    注意事项

    本文(SHELL脚本简单应用培训.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开