失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 描述linux shell中单引号 linux shell中单引号 双引号 反引号 反斜杠的区别

描述linux shell中单引号 linux shell中单引号 双引号 反引号 反斜杠的区别

时间:2020-12-11 16:06:33

相关推荐

描述linux shell中单引号 linux shell中单引号 双引号 反引号 反斜杠的区别

摘自/article/33495.htm

1. 单引号 ( '' )

# grep Susan phonebook

Susan Goldberg 403-212-4921

Susan Topple 212-234-2343

如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件

# grep 'Susan Gold' phonebook

Susan Goldberg 403-212-4921

当shell碰到第一个单引号时,它忽略掉其后直到右引号的所有特殊字符

2. 双引号 ( " " )

双引号作用与单引号类似,区别在于它没有那么严格。单引号告诉shell忽略所有特殊字符,而双引号只要求忽略大多数,具体说,括在双引号中的三种特殊字符不被忽略:$,\,` ,即双引号会解释字符串的特别意思,而单引号直接使用字符串.如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空格的字符串,经常会用到双引号。

# x=*

# echo $x

hello.sh menus.sh misc.sh phonebook tshift.sh

# echo '$x'

$x

# echo "$x"

*

这个例子可以看出无引号、单引号和双引号之间的区别。在最后一种情况中,双引号告诉shell在引号内照样进行变量名替换,所以shell把$x替换为*,因为双引号中不做文件名替换,所以就把*作为要显示的值传递给echo。 对于第一种情况需要进一步说明,shell在给变量赋值时不进行文件名替换(这从第三种情况中也能看出来),各步骤发生的精确次序如下: shell扫描命令行,把x的值设为星号*;

shell再次扫描命令行,碰到星号*,把它替换成当前目录下的文件清单;

shell启动执行echo命令,把文件清单作为参数传递给echo.

这个赋值的先后次序非常重要:shell先作变量替换,然后作文件名替换,最后把这行处理为参数

3. 反引号(``)

命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支持,也利于嵌套。

# echo The date and time is `date`

The date and time is 三 6月 15 06:10:35 CST

# echo Your current working directory is $(pwd)

Your current working directory is /home/howard/script

4. 反斜杠 backslash-escaped( \ )

反斜杠一般用作转义字符,或称逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号

echo -e "\n"

反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。

grep 正则表达式用引号括起来和元字符加反斜杠转义的测试

grep 正则表达式用引号括起来和元字符加反斜杠转义的测试 实验在 grep 命令中的表达式:不加引号,加单引号,加双引号的区别,以及部分元字符前加与不加 `\’ 进行转义的区别.实验环境为“实验楼( ...

URL中斜杠/和反斜杠\的区别小结

Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符. Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不 ...

Linux Shell中单引号、双引号、反引号的区别【转载】

linux shell可以识别4种不同类型的引字符号: 单引号字符' 双引号字符" 反斜杠字符\ 反引号字符` 1. 单引号 ( '' )# grep Susan phonebookSus ...

linux shell 单引号 双引号 反引号的区别

一.单引号和双引号 首先, 单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行就会报错.为 ...

Shell中单引号、双引号、反引号、反斜杠的区别

1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg -- Susan Topple -- 如果我们想查找的是Susan Goldberg,不能直接使 ...

C/C++中相对路径与绝对路径以及斜杠与反斜杠的区别

1 绝对路径与相对路径 绝对路径表示相对容易得多,依次将文件所在盘符文件夹逐级展开就是绝对路径: ofstream infile("E:\\MyDoc\\file.txt", io ...

正斜杠(" / ")和反斜杠(" \ ")的区别

反斜杠“\”是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点.所以除了程序设计领域外,任何地方都不应该使用反斜杠. 如何区分正反斜杠 英语:"/" 英文是forward ...

print语句中逗号(,)和反斜杠(\)的区别

逗号结尾: 禁止输出换行反斜杠结尾:强制输出换行 >>> print ('A','B') #用一个逗号结尾就可以禁止输出换行 A B >>> print ('A ...

随机推荐

[LeetCode] Hamming Distance 汉明距离

TheHamming distancebetween two integers is the number of positions at which the corresponding bits ...

【转】通过Hibernate将数据 存入oracle数据库例子

一. Hibernate介绍 Hibernate是基于对象/关系映射(ORM,Object/Relational Mapping)的一个解决方案.ORM方案的思想是将对象模型表示的对象映射到关系型数据 ...

footer置底

html代码:

【目录】Newlife XCode组件相关文章目录

本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.Newlife XCode组件相关文章目录 1.NewlifeXCode组件资源目录汇总[版] 2.Newlife ...

SPM FDR校正

来源: /blog-479412-572049.html,/thread-15512-1-1.html SPM8允 ...

Oracle Report : REP-1219

+---------------------------------------------------------------------------+ 总帐管理系统: Version : 12.0 ...

iOS 非ARC基本内存管理系列 2-多对象内存管理(2)

/* 多对象内存管理: 以人拥有车为例涉及到@property底层set方法管理内存的实现 注意:人在换车的时候要进行当前传入的车和人所拥有的车进行判断 */ /******************* ...

详解boost库中的Message Queue .

Message Queue(后文简写成MQ或消息队列)是boost库中用来封装进程间通信的一种实现,同一台机器上的进程或线程可以通过消息队列来进行通迅.消息队列中的消息由优先级.消息长度.消息数据三部 ...

linux相关小工具的使用(一)————代码相关工具

在linux环境下,对于程序员来说,知道使用一些好用的小工具,对源代码的阅读.编译和调试都有着事半功倍的效果,这里我也是边学边写的原则,把自己知道的一丁点小知识分享给大家. 一. 源代码的阅读 首先 ...

rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份

一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...

如果觉得《描述linux shell中单引号 linux shell中单引号 双引号 反引号 反斜杠的区别》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。