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

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脚本中第一行,表示标识。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值