首页 > 代码库 > 03_03 bash特性详解(下)

03_03 bash特性详解(下)

命令别名

alias COMALIAS=‘COMMAND [options] [arguments]‘

在shell中定义的别名仅在当前shell生命周期中有效:别名的有效范围仅为当前shell进程:

ualias COMALIAS 删除别名

alias cp = ‘cp -i‘

命令替换 $(COMMAND) 反引号 `COMMAND`

把命令中某个子命令替换为其执行结果的过程

echo "the current directory is /etc"

echo "the current directory is $(pwd)"

file-2013-12-12-12-13.txt

date +%F-%H-$M-%S

touch ./file-$(date +%F-%H-$M-%S).txt

bash支持的引号

``: 命令替换

“”,双引号,弱引用 可以实现变量替换

‘’,单引号 强引用 不可以实现变量替换

文件名统配 globbing

*  任意长度的任意字符 没有长度 也可以

?匹配任意单个字符

[] 指定任意指定范围内的任意单个字符

    [abc] [a-z] [a-zA-Z0-9]

[^]:匹配指定范围外的任意单个字符

    [^0-9]非数字

[:space:]空白字符

[[:space:]]空白字符集

[:punct:]标点符号

[:lower:]小写字母

[:upper:]大写字母

[:alpha:] 大小写字母

[:digit:] 数字

[:alnum:] 数字和大小写字母

也支持取反 [^[:space:]]

可以查看 man 7 glob


touch a123 abc abc123 xyz x12 xyz123

以一个字母a 开头

ls a*  =>a123 abc abc123 

字母a开头 3结尾的字符

ls a*3

字母开头 后面任意数字的文件

[a-zA-Z]*[0-9]

?y* ==>xyz xyz123

[[:alpha:]]*[[:space:]]*[[:alpha:]]

字母开头 字母结尾 中间有空白字符

*[0-9]* *[[:digit:]]*

数字结尾 不包含空白的字符    *[^[:space:]]*[0-9] 有问题的。。。正则可以处理

非字母 非数字: *[^[:alnum:]]*


本文出自 “甲午笔记” 博客,请务必保留此出处http://jiawu.blog.51cto.com/9349234/1586768

03_03 bash特性详解(下)