单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。
下面用一个简单的shell程序要说明一下。
debian:~/learn/shell# cat phonebook
Alice Chebba 973-555-2015
Barbara Swingle 201-555-9257
Liz Stachiw 212-555-2298
Susan Goldberg 201-555-7776
Susan Topple 212-555-4932
Tony Iannino 973-555-1295
Stromboli Pizza 973-555-9478
debian:~/learn/shell#
debian:~/learn/shell# cat lu
# Look someone up in the phone book
grep "$1" phonebook
debian:~/learn/shell#
这是正确的lu程序,下面是运行结果。
debian:~/learn/shell# ./lu 'Susan T'
Susan Topple 212-555-4932
debian:~/learn/shell# ./lu Tony
Tony Iannino 973-555-1295
debian:~/learn/shell#
如果lu写成①grep $1 phonebook或者②grep '$1' phonebook,就会出现下面的错误结果(为什么?)。
①的结果:
debian:~/learn/shell# ./lu Tony //这种情况结果正确
Tony Iannino 973-555-1295
debian:~/learn/shell# ./lu 'Susan T' //这种情况结果错误
grep: T: No such file or directory
phonebook:Susan Goldberg 201-555-7776
phonebook:Susan Topple 212-555-4932
debian:~/learn/shell#
②的结果:
debian:~/learn/shell# ./lu Tony //这种情况结果错误
debian:~/learn/shell# ./lu 'Susan T' //这种情况结果也错误
debian:~/learn/shell#
分享到:
相关推荐
php单引号和双引号的区别
单引号和双引号 截然不同,单引号 表示 字符,双引号 表示 字符串。 Python语言 两者都可以用,不用区别,都是字符串。 Matlab语言 早期的版本,只能用 单引号,表示的是字符串。双引号用不成,会报错。 从 R2017a ...
linux操作系统 redhat 命令 awk 单引号和双引号的区别
SQL中存储过程中SQL语句的单引号和双引号问题[总结].pdf
使用PHP脚本语言进行开发,什么时候用单引号、什么时候使用双引号对运行效率至关重要,想学习如何在PHP中区分单双引号的使用,请下载此文档,希望对需要的朋友带来帮助,谢谢。
ASP中使用SQL时关于&、双引号、和单引号的解释及关于Insert字符串的方法
详细解释了linux系统命令行和脚本编程中的引号的使用,对于命令运行机制的理解很有帮助
4.5 Python核心基础知识之单引号、双引号、三引号与转义字符串.mp4
python单引号和双引号的区别 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串。但是这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少...
在PHP中,我们可以使用单引号或者双引号来表示字符串。不过我们作为开发者,应该了解...单引号与双引号对于定义字符一个是可以解析变量一个是会把变量直接输出来,同时单引号与双引号在字符处理上单引号要优与双引号
单引号与双引号的不同: ” “双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ‘ ‘单引号里面的不进行解释,直接输出。 单引号解析的时间比双引号快 。 单引号支持\转义符,双引号支持的转义符...
主要介绍了javascript单引号和双引号的区别和处理,希望对大家有所帮助
asp单引号双引号.doc下面先简单地说一下他们的意义。 (1)&是连接运算符,它可以将两个字符串连接成一个字符串。 如 a="abc" & "def" 执行连接运算后,a="abcdef"。 再如 a="abc" & temp 注意,这里temp是...
在js中单引号和双引号都是一样的,平时使用的时候尽量用单引号,只有碰到嵌套的时候才会同时用两种引号,感兴趣的朋友可以了解下
您可能感兴趣的文章:简单概括PHP的字符串中单引号与双引号的区别PHP中单引号与双引号的区别分析PHP 单引号与双引号的区别php 输出双引号"与单引号”的方法PHP的单引号和双引号 字符串效率浅谈PHP中单引号和双引号...
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号 代码如下: str=’this is a ...
个人开发的一款JS拼接工具,代码挺简单的,不过挺实用,欢迎大家测试,向我提出bug。 主要应用在JS拼接,省去了你直接打单引号或者双引号的痛苦。
python单引号_双引号和三引号的区别.docx
python单引号_双引号和三引号的区别.pdf
sql server 默认是用单引号标识字符串的,但有很多时候需要用双引号,例如字符串里本来就包含单引号的时候。但往往设置不允许使用双引号,该解决方案一条语句就搞定双引号问题设置。