Bash中的通配符

'?'
匹配一个任意字符
'*'
匹配0个或任意多个字符,也就是可以匹配任何内容
'[]'
匹配括号中任意一个字符。例如[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
'[-]'
匹配括号中任意一个字符,'-'代表一个范围,例如[a-z]代表匹配一个小写字母
'[^]'
逻辑非,表示匹配不是括号里面的一个字符,例如[^0-9]代表匹配一个不是数字的字符
[root@ssgao1987 ssgao]# ls dzp*
dzp  dzp2  dzp234
[root@ssgao1987 ssgao]# ls dzp?
dzp2
[root@ssgao1987 ssgao]# ls dzp[0-9]
dzp2
[root@ssgao1987 ssgao]# ls dzp[0-9]*
dzp2  dzp234

Bash中其他特殊符号

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

shell 通配符的更多相关文章

  1. Linux Shell 通配符、元字符、转义符【转帖】

    作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  ...

  2. Linux shell 通配符 / glob 模式

    概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...

  3. Unix Shell 通配符、转义字符、元字符、特殊字符

    shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...

  4. 自动化运维之shell通配符,转义符,和元字符(二)

    1 shell通配符 通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆.把通配符理解为shell特殊代号字符就可. 二.shell元字符 shell除了有通配符之外,由shel ...

  5. Shell 通配符、元字符、转义符*****

    说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  b.txt  ...

  6. 【python cookbook】【字符串与文本】3.利用shell通配符做字符串匹配

    问题:当工作在Linux shell下时,使用常见的通配符模式(即,*.py.Dat[0-9]*.csv等)来对文本做匹配 解决方案:fnmatch模块提供的两个函数fnmatch().fnmatch ...

  7. Python: 用shell通配符匹配字符串,fnmatch/fnmatchcase

    问题:想使用Unix Shell 中常用的通配符(比如*.py , Dat[0-9]*.csv 等) 去匹配文本字符串 解决方案: 1. fnmatch 模块提供了两个函数—— fnmatch() 和 ...

  8. linux shell通配符及if语句判断

    $# 是传给脚本的参数个数 $0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚 ...

  9. shell通配符、命令代换、引号

    1.通配符 (1)* :匹配多个任意字符 (2)? :匹配一个任意字符 (3)[若干字符] :匹配方括号中任意一个字符的一次出现 2.命令代换:反引号``或者$() 例1:vim test_th.sh ...

随机推荐

  1. 设置本地虚拟域名windows+apache

    C:\WINDOWS\system32\drivers\etc\hosts 在这个文件中 最下面添加. 127.0.0.1   localhost.com 127.0.0.1   cho.com 12 ...

  2. Vue项目中如何使用Element-UI以及如何使用sass

    Vue项目中如何使用Element-UI以及如何使用sass 当我们在开发Vue项目的时候通常会选择Element-UI作为我们的UI框架,其官方中文文档地址是http://element.eleme ...

  3. leecode第二十一题(合并两个有序链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  4. 多线程工具之CompletionService

    这里涉及到Java的多线程并发知识,以及线程池相关的知识.就不在此说明了.具体说说CompletionService的应用场景和使用方法. 比如我们有10个线程需要丢到线程池里面去执行,然后把10个线 ...

  5. Memcached遇到的问题及解决办法

    1. memcached make: *** No targets specified and no makefile found. Stop. 其实是因为在安装libevent时增加了版本号导致的, ...

  6. ubuntu16.04安装nvidia ,cuda(待完善)

    ubuntu16.04安装nvidia 1.首先查看自己的pc显卡的型号 ubuntu16.04 查看方法: 查看GPU型号 :lspci | grep -i nvidia 查看NVIDIA驱动版本: ...

  7. delphi 程 序从exe运行改成dll库

    第一种方法: 具体步骤: 1.生成新的或着打开已经存在的工程文件(DPR)(Project1.dpr). 2.选择[View]—>[Project Manager],选中[ProjectGrou ...

  8. MyEclipse下自定义(支持html5的)JSP模板--JSP

    需求:由于某些Mclipse版本发行的比较早,所以在有些版本(比如Mclipse2014,至于其他版本博主不知能不能创建html5格式的JSP页面)里创建JSP页面时html部分不是html5格式的. ...

  9. .Net调用QQ邮箱发送邮件

    话说网上发送邮件的代码很多,但是我由于不细心,导致拿别人的代码发送邮件老是失败,今天就说说几个要注意的地方吧!!! public bool SendEmail() { MailMessage msg ...

  10. android------DDMS files not found: tools\hprof-conv.exe

    好久没有Eclipse了,使用一下就遇到坑,使用eclipse突然发生这个问题:DDMS files not found: ***\sdk\tools\hprof-conv.exe,无法连接模拟器 在 ...