Linux 命令中的单引号,不加任何参数以及双引号的作用

单引号:

可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。单引号‘‘是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换。

双引号:

把双引号内的内容输出出来;如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。

不加引号:

不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用。

使用规则:

一般常量用单引号‘‘括起,如果含有变量则用双引号""括起。

最大不同:

单引号与双引号的最大不同在于双引号仍然可以保有变数的内容,但单引号内仅能是一般字

元,而不会有特殊符号

使用举例:

“”号里面遇到$,\等特殊字符会进行相应的变量替换

‘’号里面的所有字符都保持原样

对于字符串,两者相同

匹配模式也大致相同

但有一些区别非常容易混淆

grep "$a" file        #引用变量a,查找变量a的值

grep ‘$a‘ file        #查找“$a”字符串

grep "\\" file        #grep: Trailing backslash(不知原因)

grep ‘\\‘ file        #查找‘\’字符

1、$ 美元符

2、\ 反斜杠

3、` 反引号

4、" 双引号

这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义

如果用双引号,查找一个\,就应该用四个\:

grep "\\\\" file 这样就对了,这样等同于:

grep ‘\\‘ file

第一条命令shell把四个\,转义成2个\传递给grep,grep再把2个\转义成一个\查找

第二条命令shell没转义,直接把2个\传递给grep,grep再把2个\转义成一个\查找

其实grep执行的是相同的命令

原文地址:http://blog.csdn.net/cupidove/article/details/8783968

时间: 2024-10-07 05:44:27

Linux 命令中的单引号,不加任何参数以及双引号的作用的相关文章

linux命令中的“<”和“|”是什么意思?#命令行

linux命令中的"<"和"|"是什么意思? 如:$ .cat < /etc/motd | ./a.out 最佳答案 < 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备.| 则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边.你的命令意思就是说从/etc/motd文件中读取内容,然后把cat命令读取出来的内容作为后面一个命令 a.out的输入参数来执行a.out命令. By 网友 artttt & 暗

linux命令中的大神

命令一:rm中的-r参数 首先是创建了temp文件,它所属者是xulinux用户,以及xulinux组,权限通过后3句使得任何人不得写,不得读,不得访问该目录: 可是在root用户下,通过rm -r形式使得它强制的删除了temp,强制的访问,强制的读取,强制删除:故而这个命令非常霸气,可以无视权限,且删除不能恢复,因为它不是删除到回收站中.故而使用者非常小心使用. 待续..... linux命令中的大神,布布扣,bubuko.com

[转载]PHP效率计:从引号开始(单引号、双引号效率区别)

原文地址:http://blog.sina.com.cn/s/blog_640b03390100sham.html 一直以来,程序的执行效率就是人们所关注的,在PHP中也不例外,从最简单的引号,也在思考他的效率.我们特别做了实验,我们自称这个实验可能前无古人,后无来者.我们的实验是借助最初级的实验方法:累积法和多次实验求平均值. 实验一:在普通情况下的效率我们的实验是5000次执行10000个字节的文件,获得解析过程中的速度.首先,本实验特别规定一个单位,这是为了更好地表示以及排除计算机本身效率

PHP效率计:从引号开始(单引号、双引号效率区别)

一直以来,程序的执行效率就是人们所关注的,在PHP中也不例外,从最简单的引号,也在思考他的效率.我们特别做了实验,我们自称这个实验可能前无古人,后无来者.我们的实验是借助最初级的实验方法:累积法和多次实验求平均值. 实验一:在普通情况下的效率我们的实验是5000次执行10000个字节的文件,获得解析过程中的速度.首先,本实验特别规定一个单位,这是为了更好地表示以及排除计算机本身效率的差异.时间单位 TT,表示约 7.2×10[sup]-8[/sup]s .我们获得四组实验数据,可理解为表示 'a

linux命令中which、whereis、locate有什么区别?

1.find find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子目录.如果不指定,则默认为当前目录. 指定条件:是指所要搜索的文件的特点. 指定动作:是指对搜索的结果如何处理. 常见选项: -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来) -iname 根据文件名查找(不区分大小写) -regex "PATT

Linux命令中service的用法

用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等.相关的命令还包括chkconfig.ntsysv等,chkconfig用于查看.设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动.service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务. 看看下面的手册页可能更加清楚的了解service的内幕:service运行

Linux命令中使用正则表达式

在使用grep.awk和sed命令时,需要使用正则表达式.比如我通过grep找代码编译结果中是否有错误.或者是否有我代码的错误.这里说下正则表达式基本的应用: 匹配行首与行尾. 匹配数据集. 只匹配字母和数字. 匹配一定范围内的字符串集. ^ 只匹配行首 $ 只匹配行尾 * 一个单字符后紧跟*,匹配0个或多个此单字符 [] 匹配[]内字符,可以是一个单字符,也可以是字符序列.可以使用 - 表示[]内字符序列范围,如用[1-5]代替[12345] \ 用来屏蔽一个元字符的特殊含义.因为有时在she

linux命令中的“&lt;”和“|”是什么意思?

”<” 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备.”| ”则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边. cat file.json | python -m json.tool 程序呢? 简单的说shell程序就是一个包含若干行 shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件

Linux 倒引号、单引号、双引号

1.倒引号表示命令 echo now is `date` 或者 echo now is $(date) 2.单引号 name=Andy  没有问题, 如果想 name=Andy Niu,报错:bash:niu:command not found,程序认为第一个空格后是命令.如何解决这个问题? 使用单引号 name=‘Andy Niu’ 3.双引号 desc=‘I am $name’ echo $desc I am $name’ ,我想显示的是 I am Andy Niu.怎么办? 使用双引号,双