欢迎来到天天文库
浏览记录
ID:41883974
大小:163.00 KB
页数:40页
时间:2019-09-04
《linuxShell脚本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Lesson09Shell脚本复习配置文件与source命令特殊符号:?*[];&&
2、
3、重定向管道:cutsortwcuniqteetrgrep内容提要正则表达式ShellScripts正则表达式正则表达式.代表一个任意字符,一定要有一个字符存在?匹配0次或者1次,也可以用于表示单一字符*匹配任意次,也可以用于表示任意字符[list]列表中的字符[range]列表中范围内的字符,范围用“-”分隔正则表达式正则表达式[^list]不属于list的元素,与[list]相反[^range]不属于range的元素,与[
4、range]相反{n}与前一个相同条件连续匹配n个{n,m}与前一个相同条件连续匹配n到m个正则表达式正则表达式实验,假设有如下文本,文件名称为t:hi,iameric,myphoneis023-68587573mobilephoneis13667620661atchangsha,iwilluse0731-6858670myidis22334455667myemailiseric-hxy@163.commaybeucanalsouseERIC-HXY@163.COMcallmepleasebye正则表达式问
5、题:如何查找文本中的移动电话?grep-e"13[0-9]{9}"如何查找文本中的固定电话号码?grep-e"0[0-9]{2,3}-[0-9]{7,8}"ShellScripts什么是ShellScripts?一系列连续命令如何执行?使文件具备执行属性,然后执行使用sh命令,如shaShellScripts建立第一个脚本:vitest01输入echohelloscriptsworld保存退出增加可执行权限:chmoda+xtest01执行./test01去掉可执行权限:chmoda-xtest01执行
6、./test01执行shtest01ShellScripts默认变量类型是字符串,其他变量声明用d:语法:declare[-afir]变量名称[=初始值]含义:-a定义数组,-f定义函数,-i定义整数,-r定义只读变量ShellScripts变量声明举例:a1=10b1=20c1=$a1*$b1echo$c1declare-ia2=10declare-ib2=20declare-ic2=$a2*$b2echo$c2实验ShellScripts变量声明注意事项:变量赋值等号两边不能有空格如果变量值包含空格,最好使用引
7、号。如果没有引号,那么该值中的第二个单词会当作命令执行。例如:aa=bpwdaa=bpwddecho命令打印变量时,最好用引号括起,否则echo将解析其中的特殊符号,列出当前目录下面的文件名称,例如:aa=*echo$aa如果“$variable”表示一个命令,则会自动执行它,例如:aa=pwd;$aaShellScriptsset命令的其他用法:set[参数列表]效果:依次把各位置参数设置为参数列表中的值,从$1开始举例:set`date`echo$1,$2,$3注意:如果参数列表中第一个可能以-开头,则应该使用
8、set–[参数列表],例如:set"-a-b-c"set--"-a-b-c"echo$@ShellScriptsshell算术运算(1/2):可以使用shell结构来执行简单的整数运算。只需将特定的算术表达式用"$(("和"))"括起,bash就可以计算表达式举例:echo$((100/3))myvar="56"echo$(($myvar+12))echo$(($myvar-$myvar))myvar=$(($myvar+1))echo$myvarShellScriptsshell算术运算(2/2):也可以使用“e
9、xpr表达式”来计算表达式的值。可以使用的运算符包括=>>=<=!+-*/%等注意:使用转义符号举例:a=100echo`expr$a*$a`echo`expr$a>$a`echo`expr$a=$a`ShellScripts跟用户交互read:echoinputuname:readnameechounameis$name参数的读取:$0代表命令或者脚本名称,$1代表第一个参数,一直到9实验ShellScriptsshift命令作用:将参数左移语法:shift[N]含义:将命令行参数左移N个位置,默认为1举例
10、:echo$0$1$2shiftecho$0$1$2shift2echo$0$1$2ShellScripts常用的逻辑判断:-f检测文件是否存在-d检测目录是否存在-e检测对象是否存在,对象可以是任何东西-r文件是否具备可读属性-w是否可写-x是否可执行-s文件是否非空-u文件是否具备SUID-g文件是否具备SGID-k文件是否具备stickybit属性&&
此文档下载收益归作者所有