欢迎来到天天文库
浏览记录
ID:39468174
大小:237.50 KB
页数:47页
时间:2019-07-04
《Shell脚本编程的常识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Shell脚本编程的常识Shell脚本编程的常识(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用)七种文件类型d目录l符号链接s套接字文件b块设备文件c字符设备文件p命名管道文件-普通文件正则表达式从一个文件或命令输出中抽取或过滤文本时。可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合。基本的元字符集:^只匹配行首。$只匹配行尾。*一个单字符后紧跟*,匹配0个或多个此单字符。[]匹配[]内字符,可以是一个单字符,也可以是字符序列。可以使用-来表示[]内范围,如[1-5]等价于[1,2,3,4,5]。
2、屏蔽一个元字符的特殊含义,如$表示字符$,而不表示匹配行尾。.匹配任意单字符。pattern{n}匹配pattern出现的次数npattern{n,}m匹配pattern出现的次数,但表示次数最少为npattern{n,m}匹配pattern出现的次数在n与m之间(n,m为0-255)几个常见的例子:显示可执行的文件:ls–l
3、grep…x...x..x只显示文件夹:ls–l
4、grep^d匹配所有的空行:^$匹配所有的单词:[A-Za-z]*匹配任一非字母型字符:[^A-Za-z]包含八个字符的行:^……..$(8个.)字符类描述以下是
5、可用字符类的相当完整的列表:[:alnum:]字母数字[a-zA-Z0-9][:alpha:]字母[a-zA-Z][:blank:]空格或制表键[:cntrl:]任何控制字符[:digit:]数字[0-9][:graph:]任何可视字符(无空格)[:lower:]小写[a-z][:print:]非控制字符[:punct:]标点字符[:space:]空格[:upper:]大写[A-Z][:xdigit:]十六进制数字[0-9a-fA-F]尽可能使用字符类是很有利的,因为它们可以更好地适应非英语locale(包括某些必需的重音字符等等).shell的引号类
6、型shell共有四种引用类型:“”双引号‘’单引号``反引号反斜线l“”可引用除$、`、、外的任意字符或字符串,“”中的变量能够正常显示变量值。l‘’与“”类似,不同在于shell会忽略任何的引用值。例如:GIRL=‘girl’echo“The‘$GIRL’didwell”则打印:The‘girl’didwelll``用于设置系统命令的输出到变量,shell会将``中的内容作为一个系统命令并执行质。例如:echo`date`则打印当前的系统时间。l用来屏蔽特殊含义的字符:&*+^$`“
7、?例如:expr12*12将输出144变量设置时的不同模式
8、:valiable_name=value设置实际值到variable_name中valiable_name+value如果设置了variable_name,则重设其值valiable_name:?value如果未设置variable_name,则先显示未定义用户错误信息valiable_name?value如果未设置variable_name,则显示系统错误信息valiable_name:=value如果未设置variable_name,则设置其值valiable_name-value同上,但取值并不设置到variable_name条件测试test命令
9、用于测试字符串、文件状态和数字,expr测试和执行数值输出。Test格式:testcondition或[condition](需要特别注意的是condition的两边都要有一个空格,否则会报错),test命令返回0表示成功。l下面将分别描述test的三种测试:n文件状态测试(常用的)-d测试是否文件夹-f测试是否一般文件-L测试是否链接文件-r测试文件是否可读-w测试文件是否可写-x测试文件是否可执行-s测试文件是否非空n字符串测试五种格式:test“string”teststring_operator“string”test“string”strin
10、g_operator“string”[string_operator“string”][“string”string_operator“string”]其中string_operator可以为:=两字符串相等!=两字符串不等-z空串-n非空串n数值测试两种格式:“number”number_operator“number”[“number”number_operator“number”]其中:number_operator可以为:-eq、-ne、-gt、-lt、-ge例如:NUMBER=130[“990”–le“995”–a“NUMBER”-gt“13
11、3”](其中-a表示前后结果相“与”)lexpr命令一般用于整数值,但也可以用于字符串。n格式
此文档下载收益归作者所有