Linux学习之Shell基础——Bash基本功能——通配符和其他特殊符号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxllynu/article/details/85040838

1、通配符

通配符 作用
匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[ ] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c。
[ - ] 匹配中括号中任意一个字符,—代表一个范围。例如:[a-z] 代表匹配一个小写字母
[ ^ ] 逻辑非,表示匹配不是中括号内的一个字符。例如:[ ^0-9]代表匹配一个不是数字的字符

示例:

[root@localhost ~]# cd /tmp/    进入到/tmp/目录中,因为下面要演示一个删除操作,/tmp/作为临时目录,做一些操作对系统本身影响小。

[root@localhost tmp]# ls       查询当前目录下的文件

[root@localhost tmp]# rm rf *   删除/tmp/目录下所有的内容

[root@localhost tmp# ls          此刻执行完,应该什么内容都没有

[root@localhost tmp]#  touch  abc    在当前目录下创建一个文件abc

[root@localhost tmp]# touch  abcd   在当前目录下创建一个文件abcd

[root@localhost tmp]# touch 123   在当前目录下创建一个文件123

[root@localhost tmp]# touch   0abc  在当目录下创建一个文件0abc

[root@localhost ~]# ls 

[root@localhost ~]# ls  *abc    查询末尾为abc的任意文件

[root@localhost ~]# ls *abc*    查询文件名中间为abc的文件

[root@localhost ~]# ls ?abc  查询文件名为4个字符,且末尾是abc

[root@localhost ~]# ls  [0-9]abc   表示查询开头为一个数字,末尾是abc的文件

[root@localhost ~]# ls [^0-9]abc  表示查询开头不是数 字的末尾是abc的文件

2、Bash中其他特殊符号

符号 作用
' ' 单引号。在单引号中所有的特殊符号,如“$”和“ ` ”(反引号)都没有特殊含义
“ ” 双引号。在双引号中特殊符号都没有特殊含义,但是“$”、“ 、”和“ · ”是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义
· · 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和$()作用一样,不过推荐使用$(),因为反引号非常容易看错
# 在shell脚本中,#开头的行代表注释
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值
\ 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出“$”符号,而不得当做是变量引用
$() 和反引号作用一样,用来引用系统命令

1)单引号与双引号:

[root@localhost tmp]# name=sc
[root@localhost tmp]# echo $name
sc
[root@localhost tmp]# echo '$name'
$name
[root@localhost tmp]# echo "$name"
sc
[root@localhost tmp]# 

2)反引号$()的作用:

[root@localhost ~]# abc=`date`
[root@localhost ~]# echo $abc
2018年 12月 16日 星期日 15:16:27 CST
[root@localhost ~]# abc=$(date)
[root@localhost ~]# echo $abc
2018年 12月 16日 星期日 15:17:11 CST
[root@localhost ~]# 
[root@localhost ~]# echo $(ls)
abc anaconda-ks.cfg cde cdef install.log install.log.syslog sh testfile 公共的 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# echo '$name'
$name
[root@localhost ~]# echo `$name`
-bash: sc: command not found

[root@localhost ~]# echo "$name"
sc
[root@localhost ~]# echo '$(date)'
$(date)
[root@localhost ~]# echo "$(date)"
2018年 12月 16日 星期日 15:20:26 CST
[root@localhost ~]# 

总结:双引号括起来的内容中有特殊符号;

          反引号和$() 调用的内容表示系统命令

          #表示注释,特殊除外。比如shell脚本中第一行,表示标识。

猜你喜欢

转载自blog.csdn.net/zxllynu/article/details/85040838
今日推荐