shell编程最基础的命令和相关编程

1、文件类型介绍
linux系统中主要包括以下七种文件类型: d 目录 - 普通文件 l 符号链接 s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件

2、正则表达式
正则表达式在shell编程中非常重要。

从一个文件或命令输出中抽取或过滤文本时。可使用正则表达式(RE),正则表达式是一些特殊或不很特殊的字符串模式的集合。

基本的元字符集:
^ 只匹配行首。
$ 只匹配行尾。
* 一个单字符后紧跟*,匹配0个或多个此单字符。
[] 匹配[]内字符,可以是一个单字符,也可以是字符序列。可以使用-来表示[]内范围,如[1-5]等价于[1,2,3,4,5]。
屏蔽一个元字符的特殊含义,如$表示字符$,而不表示匹配行尾。
. 匹配任意单字符。
pattern{n}   匹配pattern出现的次数n
pattern{n,}m匹配pattern出现的次数,但表示次数最少为n
pattern{n,m} 匹配pattern出现的次数在n与m之间(n,m为0-255)

常见例子:
显示可执行的文件:ls –l | grep …x...x..x
只显示文件夹:ls –l | grep  ^d
匹配所有的空行:^$
匹配所有的单词:[A-Z a-z]*
匹配任一非字母型字符:[^A-Z a-z]
包含八个字符的行:^……..$(8个.)

更多内容,请查阅正则表达式的详细资料加深学习。

3、字符类描述
常用的可用字符类列表:
[:alnum:] 字母数字 [a-z A-Z 0-9] 
[:alpha:] 字母 [a-z A-Z] 
[:blank:] 空格或制表键 
[:cntrl:] 任何控制字符 
[:digit:] 数字 [0-9] 
[:graph:] 任何可视字符(无空格) 
[:lower:] 小写 [a-z] 
[:print:] 非控制字符 
[:punct:] 标点字符 
[:space:] 空格 
[:upper:] 大写 [A-Z] 
[:xdigit:] 十六进制数字 [0-9 a-f A-F]

使用字符类可以更好地适应非英语 locale(包括某些必需的重音字符等)。

4、引号类型
shell中共有四种引用类型:
“ ”双引号
‘ '单引号
` `  反引号
    反斜线

说明:
“ ”可引用除$、` 、 、外的任意字符或字符串,“ ”中的变量能够正常显示变量值。
‘ '与“ ”类似,不同在于shell会忽略任何的引用值。
例如: GIRL=‘girl' 
       echo “The ‘$GIRL' did well”
       则打印:The ‘girl' did well

说明:
 ` `用于设置系统命令的输出到变量,shell会将` `中的内容作为一个系统命令并执行质。
    例如:echo `date` 则打印当前的系统时间。

说明:
    用来屏蔽特殊含义的字符:&  *  +  ^  $  `  “  |  ?
    例如:expr 12 * 12 将输出144

5、变量设置的几种模式
变量设置时的不同模式:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值