首页 2.1Linuxshell编程

2.1Linuxshell编程

举报
开通vip

2.1Linuxshell编程学习目标学员需要掌握如下内容学会使用Shell编程能够编写Shell脚本程序掌握Shell编程中用到的变量,流程控制语句,常用命令特殊符号基本学会使用Shell脚本函数Linux常用命令与shellShell编程简介Shell提供了一种以脚本文件的方式来实现之,将所有需要执行的命令按照类似于编程的方法写到一个文件中,当需要使用时,只需要运行这个文件即可完成指定的任务Shell脚本文件的运行同可执行文件的使用方法相同,在命令提示符下输入文件的路径即可运行系统变量条件测试条件测试可以判断脚本程序运行的状态。它常用于条件...

2.1Linuxshell编程
学习目标学员需要掌握如下内容学会使用Shell编程能够编写Shell脚本程序掌握Shell编程中用到的变量,流程控制语句,常用命令特殊符号基本学会使用Shell脚本函数Linux常用命令与shellShell编程简介Shell提供了一种以脚本文件的方式来实现之,将所有需要执行的命令按照类似于编程的方法写到一个文件中,当需要使用时,只需要运行这个文件即可完成指定的任务Shell脚本文件的运行同可执行文件的使用方法相同,在命令提示符下输入文件的路径即可运行系统变量条件测试条件测试可以判断脚本程序运行的状态。它常用于条件分支,以便在不同的运行状态下执行不同的命令。[param1判断符号param2][判断符号param]文件状态测试-bfilename 判断文件filename是否为块设备,若文件不存在返回假。-cfilename 判断文件filename是否为字符设备,若文件不存在返回假。-dpathname 判断路径pathname是否为目录,若路径不存在返回假。-epathname 判断路径pathname是否存在。-ffilename 判断文件filename是否为真会文件,若文件不存在返回假。-gpathname 判断路径pathname是否设置了SGID位,若路径不存在返回假。-hfilename 判断文件filename是否为链接文件,若文件不存在返回假。-kpathname 判断路径pathname是否设置了“粘滞”位,若路径不存在返回假。-pfilename 判断文件filename是否为管道文件,若文件不存在返回假。-rpathname 判断路径pathname是否为可读,若路径不存在返回假。-sfilename 判断文件filename的尺寸是否大于0,若文件不存在返回假。-Sfilename 判断文件filename是否是Socket,文件不存在返回假。-upathname 判断路径pathname是否设置了SUID位,若路径不存在返回假。-wpathname 判断路径pathname是否为可写,若路径不存在返回假。-xpathname 判断路径pathname是否为可执行,若路径不存在返回假。-Opathname 判断路径pathname是否为当前用户所拥有,若路径不存在返回假。-Gpathname 判断路径pathname的用户组是否为当前用户所在组,若路径不存在返回假。file1-ntfile2 判断文件file1是否比文件file2新。file1-otfile2 判断文件file1是否比稳健file2旧。逻辑操作param1–aparam2 逻辑与。param1–oparam2 逻辑或。!param 逻辑非。字符串测试-zstring 判断字符串string是否为空串,即长度为0。-nstring 判断字符串string是否为非空串。string1=string2 判断字符串string1和string2是否相等。string1!=string2 判断字符串string1和string2是否不等。string1<string2 按字符编码表排序,字符串string1是否在string2之前。string1>string2 按字符编码表排序,字符串string1是否在string2之后。数值测试val1–eqval2 判断val1和val2的数值是否相等。val1–neval2 判断val1和val2的数值是否不等。val1–ltval2 判断val1是否小于val2。val1–leval2 判断val1是否小于等于val2。val1–gtval2 判断val1是否大于val2。val1–geval2 判断val1是否大于等于val2。Shell流程控制语句流程控制包括条件执行、循环、分支执行。if语句if…;then……elif…;then……else……fiif[$#-gt0];thenecho“Thereis$#parameter(s).”elseecho“Thereisnoparameter.”ficase语句casestrinpattern)dosomething;;……esacCase“$country”in“China”)echo“NiHao.”;;“Japan”)echo“fuckyou”;;“England”)echo“Hello.”’;;*)echo“???.“;;esac当变量country为China时NiHao,为Japan输出Konnichiha,为England输出Hello,为其他时输出???.while语句while…;do……doneuntil…;do……done例:计算1到100的和i=0sum=0while[$i–lt100];doleti+=1letsum+=$idoneecho“sumis$sum”注:let为算术赋值for语句forvarinstr1str2…;do……doneShell编程中的常用命令与符号read命令命令的语法:read[参数]变量名常用的参数如下:-ttimeout 设定超时时间。-pprompt 设定提示信息,该提示信息将会显在光标前。select命令selectvarinstr1str2…;dobreak;done花括号花括号是一种强制的整体标识,可以让一个非整体的字符串强制的解释成一个整体{catabc.txtecho“aaa”}引号单引号可以取消所有的转义符号、通配符和分隔符,双引号取消通配符和分隔符的转义,但对于变量依然进行转义例“aaabbb”‘aaabbb’*.txta.txtb.txt“*.txt”*.txt‘*.txt’*.txt假设变量a的值为123,那么12$a12与123组成的字符串“12$a”12123’12$a’12$a注释注释语句所在行的第一个字符必须为“#”,其后是注释的内容。函数Shell中函数被看成是一个小的脚本程序,仅在当前脚本内部进行调用funname(){……}应用实例训练例1.需要完成一个程序,用户输入百分制的分数,之后返回“A”“B”“C”“D”“E”的等级。其中,A等级为90至100分,B等级为80至89分,C等级为70至79分,D等级为60至69分,E等级为0至59分。needquit=0while[$needquit-eq0]do echo"Pleaseinputthescore" readscore case$scorein 100|9[0-9])echo"VeryGood";; 8[0-9])echo"Good";; 7[0-9])echo"Middle";; 6[0-9])echo"Pass";; [1-5][0-9])echo"Failure";; quit|q)echo"Quit" needquit=1;; *)echo"WrongInput!";; esac echo""done例2.完成一个文件操作,根据用户指定的目录,删除其中所有文件名以“.c”结尾的文件,若这些文件删除后,目录中没有其他的文件,则将该目录也一并删除。#/bin/bashforiin$*;do find"$i"-name"*.c"|xargsrm-rf; if["`ls-A$i`"==""];then rmdir"$i" echo"DeleteDirectory$i" fidone~/:在根目录下查找-name查找文件名的方式“*.c”文件名中要求后缀是c的所有文件-exec找到后执行命令rm-rf{}命令就是删除文件\;这是格式要求的,没有具体含义。思考与练习思考Shell编程与Shell命令之间的关系。阅读资料,了解Shell启动的流程,体会Shell脚本程序在Shell启动过程中的作用。用Shell编程的形式完成下列程序:输出用户通过命令行参数形式提供的多个整数的平均数。具体调用格式如下:$./avg12345678Average:45文件备份。备份用户指定的文件,将文件备份到目录“文件名_backup”中(若目录不存在则自动建立),备份文件的文件名格式为“文件名_bak_年月日_时分秒”。将用户提供的二进制数转化为十进制数。(选作)具体的调用格式如下:$./bin2dec10011001(b)=9(d)$./bin2dec222222isnotavaluablebinarynumber.
本文档为【2.1Linuxshell编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥6.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
三月
暂无简介~
格式:ppt
大小:534KB
软件:PowerPoint
页数:0
分类:
上传时间:2018-07-02
浏览量:25