详解Linux中关于引号的那些事
作者:daisy 发布时间:2022-04-30 22:57:36
本文详细的给大家介绍了关于Linux中引号的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
引号
我们将把编写脚本的事情暂时搁在一边,然后来讨论一些,我们一直在用的,但是没有解释的东西。引号在这一节里面,我们会讲述引号。引号有两个作用:
控制字符替换 和
执行将单词包含在一起的功能
我们已经使用过引号。在我们的脚本里面,将文本信息赋值给常量的赋值操作就使用了引号:
在上面这个例子中,文本信息是被双引号包括住的。我们使用双引号的原因是---我们要把所有单词包括住,当作一个整体来对待。如果我们没有使用引号,那么bash解释器,就会将所有位于第一个单词后面的单词,解释为其他的命令(第一个单词被解释为命令)。
尝试一下运行下面的命令,看看有什么效果出来:
单引号和双引号
shell解释器可以识别双引号和单引号。 下面的复制表达式效果是等价的:
然而,在双引号和单引号之间存在一个重要的差别。 单引号,在字符替换方面有限制。 正如我们在上一节所看到的内容一样,你可以将一个变量放在双引号里面,而shell解释器依然会对变量执行字符替换的操作。
我们可以通过使用echo
命令来查看这种效果:
如果我们将上述的双引号改为单引号,那么,行为将会改变:
双引号并没有限制---以"$"开头的变量的字符替换,不过,它的确对通配符的扩展效果进行了限制。
比如,下面这个例子:
引用单个字符
还有另外一种引用字符你会碰到的。 它就是反斜杠。The backslash tells 反斜杠告诉shell解释器忽略反斜杠符后面的第一个字符。比如:
通过使用反斜杠符,shell解释器忽略了对"$"符号进行解释。既然shell已经忽略了"$",那么,shell解释器也就不会对$HOSTNAME
执行字符替换了。
下面,给出一个更有用例子:
正如你所看到的,通过使用反斜杠符号,我们可以将双引号包含在文本里面。
反斜杠的其他使用技巧
如果,你阅读过任何软件的使用手册,并且这手册是由GNU项目完成的,那么,你会发现,在软件的命令选项中,除了以一个下划线_加一个字母的形式出现之外,还有,以两个下划线加一个完整的单词的形式出现。例如,下面两个语句是等价的:
为什么在软件中,这两种形式都是支持的呢?短的那种形式,是专门为那些懒的输入员而设定的,而长的那种形式,是专门为写脚本而存在的。我有时候,是混合着使用上面的两种形式,然后,我发现采用长的命令选项有用,如果,我写了一个脚本,并且,我将在几个月后去阅读它。看到长的命令选项,有助于我理解这个命令选项是什么意思,从而省却我去查man手册的功夫。现在多敲几下键盘,会以后节省很多功夫。 这样,懒惰的原则就保持住了。
你有可能会疑虑,使用长的命令形式,会导致一个单独的命令变得很长。 为了与这个问题斗争,你可以使用反斜杠来让shell解释器忽略换行符号,正如下面的操作:
这样使用反斜杠,可以让我们将每行的内容包含在一个单独的命令中。让这个技巧可以应用,要注意的地方:换行,必须在反斜杠后面马上出现(也就是,在输入了反斜杠之后,就必须换行了)。 如果,你将一个空格符放置在反斜杠后面,那么,空格符号会被忽略,而不是换行符被忽略。反斜杠符,也可以被用于,将特殊的符号插入到文本。special characters into our text. 这些符号,被叫做---转移字符,下面就有一些转移字符:
转义字符 ....................... | 名字 | 可能的用途 |
n | 换行符 | 添加空白行在文本中 |
t | 制表符 | 将水平制表符添加到文本中 |
a | 提醒 | 让你的终端发出嘟嘟声。 |
\ | 反斜杠 | 插入一个反斜杠符 |
f | formfeed | Sending this to your printer ejects thepage |
转移字符的应用很常见。非常常见转移字符,这个想法,首先出现在C语言里面。编程语言今天,shell解释程序,C++,perl,python,awk,tcl和其他程序语言都使用了转移字符这个概念。通过使用echo命令的-e选项,我们将展示上述转移字符的应用:
总结


猜你喜欢
- 一、安装muttyum install mutt -y二、配置muttvim /etc/Muttrc在里面找到下面几行,并将内容修改为你自己
- 如果攻击者能够获取用户WebMail的cookie信息,那么就能很容易地侵入用户的WebMail。攻击者如何获取用户WebMail的cook
- 一、WSUS 安装要求1、硬件要求:对于多达 500 个客户端的服务器,建议使用以下硬件:* 1 GHz 的处理器* 1 GB 的 RAM2
- 网站进行SEO改版的目的是為了使自身的网站能更吸引搜索蜘蛛的爬行,从而获得最高的关键字排位,更高的网站权重,而改版就无可避免会遇到一个 SE
- 内容摘要:据网络相关消息,近日北京网监与刑警配合,成功破获一起网络安全公司员工利用黑客手段DDOS攻击,向国内某署名网络游戏服务器发起洪水之
- 什么是网站设计中最重要的一个环节?很多人会回答是网站的可读性,怎么样才能使你的内容更容易阅读。读者来到你的网站是在阅读他们关心的内容,如果文
- 上个月,发布了一篇拙文《提升个人诚信度的六个小技巧》,和大家探讨了如何通过网络提升个人诚信度,今天再来和大家探讨一下,企业如何通过网站来树立
- 度过了经济危机最严重的时间,最近视频行业重新热闹起来。不过,我感到很纳闷——易观国际的数据说,200
- 一、安装POP3和SMTP服务组件Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加
- 所谓虚拟主机,就是n个网站都放在一台服务器上。对于访问量较小的网站,选择独立主机太浪费了,所以一般都是使用虚拟主机来搭建网站。目前有很多提供
- 1.在百度提交网址 但现在百度自动收录的速度已经让众人所知,所以提出以下的方法。供我亲爱的朋友们、战友们以及我核心团队的兄弟姐妹们参考,最后
- 在这个被Ajax技术统治的互联网时代,很多Ajax程序都会在异步读取数据的同时,显示一个正在读取或Loading的动画。今天彬Go要向大家推
- 当我访问网络中的一台服务器时,我收到了如下信息:“没有任何网络提供商接受特定的网络通路。我要做的一切就是通过一个IP地址,如192.168.
- 见到网上很多人貌似都十分推崇Wordpress,甚至很多从其他程序转过去的,就好像用wp够档次似的,也不知是因为看很多专业人士用,自己也要用
- 本文实例讲述了Centos 7.4服务器时间同步配置方法。分享给大家供大家参考,具体如下:1. yum 安装 NTP服务器#yum -y i
- 在Godaddy注册一个域名,还可以获得Godaddy赠送的一个10G的免费空间。虽然是免费空间,速度还挺快的,容量也蛮大,遗憾的是网页顶部
- 北京时间10月23日,微软新一代操作系统WIN7正式发布,国内领先的网游厂商巨人网络率先宣布,其新作《绿色征途》全面兼容WIN7操作系统。今
- {$ggas_text$}Simon已经在如何申请Goolge AdSense一文中跟大家介绍简单介绍和提示一点如何填写申请表如英译的相关资
- 在支付宝昨天宣布邀请50万用户参与其个人版公测之后,今天已经陆续有部分用户得以进入该新系统进行体验。以下为支付宝个人版相关页面:一、体验版欢
- “冲击波”等蠕虫病毒特征之一就是利用有漏洞的操作系统进行端口攻击,因此防范此类病毒的简单方法就是屏蔽不必要的端口,防火墙软件都有此功能,其实