篇一 : linux命令学习——单引号(‘’)、双引号(“”)、小引号(``)总结
linux命令学习——单引号(‘’)、双引号(“”)、小引号(``)总结
在编写shell脚本时对于引号的应用也是十分重要的,这里总结一下三种引号的特点。
1、单引号(‘’),被单引号包裹的内容会将其视为字符串,即使做了像 \n 这样的换行,也会照样输出 \n 而不是 换行。
2、双引号(“”),和单引号不同的是,双引号会将包裹内容的转义字符输出。下面做一个例子:
[javascript]
$ name=kehr
$ echo "$name"
kehr
$ echo '$name'
$name
明显可以看出二者的差别
3、小引号(``)这个符号也不知道学名叫什么,我管它叫“小引号”,哈哈。
它的作用是,被小引号包裹的内容会先执行。
例如,当我们在安装内核devel等文件的时候会用到下面的命令:
[html]
yum install kernel-devel-`uname -r`
这里的小引号就是键盘数字1,左边的那个键。
篇二 : linux bash shell 中的单引号和双引号
摘抄自:ABS_CN
当要引用一个变量的值时,一般推荐使用双引号。()使用双引号除了变量名[2]前缀($)、后引符(`)和转义符(\)外,会使shell不再解释引号中其它所有的特殊字符。[3]用双引号时$仍被当成特殊字符,允许引用一个被双引号引起的变量("$variable"), 那也是说$variable会被它的值所代替。
用双引号还能使句子不被分割开.[4]一个参数用双引号引起来能使它被看做一个单元,这样即使参数里面包含有空白字符也不会被shell分割开了。
1variable1="a variable containing five words"
2COMMAND This is $variable1 # 用下面7个参数执行COMMAND命令:
3# "This" "is" "a" "variable" "containing" "five" "words"
45COMMAND "This is $variable1" # 用下面1个参数执行COMMAND命令:
6# "This is a variable containing five words"
789variable2="" # 空字符串。
1011COMMAND $variable2 $variable2 $variable2 # 没有带参数执行COMMAND 命令
12COMMAND "$variable2" "$variable2" "$variable2" # 用三个含空字符串的参数执行COMMAND命令
13COMMAND "$variable2 $variable2 $variable2" # 用一个包含两个空白符的参数执行COMMAND命令
1415# Thanks, St閜hane Chazelas.在echo语句中,只有句子分割和保存空白符的时候,才需要把参数用双引号引起来。.
例子 5-1. 引号引起奇怪的变量
1#!/bin/bash
34var="'(]\\{}\$\""
5echo $var # '(]\{}$"
6echo "$var" # '(]\{}$" 和上面一句没什么不同.
78echo
910IFS='\'
11echo $var # '(] {}$" \字符被空白符替换了,为什么?
12echo "$var" # '(]\{}$"
1314# 以上例子由Stephane Chazelas提供..
1516exit 0
单引号(' ')和双引号类似,但它不允许解释变量引用,因此,在单引号内的字符$的特殊意思无效了。在单引号内,除了字符',每个特殊字符都只是字面的意思。单引号(全局引用)比双引号(部分引用)更严格的处理引用部分。
由于在单引号里的转义字符(\)也只是被局限于字面上的意思,所以想在一双单引号里再加单引号是不行的。
1echo "Why can't I write 's between single quotes"
23echo
45# The roundabout method.
6echo 'Why can'\''t I write '"'"'s between single quotes'
7# |-------| |----------| |-----------------------|
8# 三个单引号引起的字符串之间有一个转义的单引号和一个由双引号引起的单引号.
910# 这个例子得到 St閜hane Chazelas同意.
注:
[1]除非当前目录下有一个文件名为first的文件。那这是引用的另外一个不同的理由了。(多谢 Harald Koenig指出这一点)
[2]这也会使变量的值会有副作用。(看下面的)
[3]在命令行上,把感叹号"!"放在双引号里执行命令会出错(译者注:比如说:echo "hello!"). 因为感叹号被解释成了一个历史命令. 然而在一个脚本文件里,这么写则是正确的,因为在脚本文件里Bash的历史机制被禁用了。
在双号号里在字符"\"也会引起许多不一致的行为。
bash$echo hello\!hello!bash$echo "hello\!"hello\!bash$echo -e x\tyxtybash$echo -e "x\ty"x y(多谢Wayne Pollock指出这一点)
[4]句子的分割,在这里是指分割一个字符串为许多不连续的单独的参数。
PS:
使用单引号可以阻止shell解释器编辑指令中的特殊字符或空格(shell使用空格决定提交给程序的独立的参数,特殊的shell字符在调用之前被展开)
篇三 : 单引号怎么打?在用WORD处理文字时,遇到这样1个问题:引号里再
单引号怎么打?
在用WO处理文字时,遇到这样一个问题:引号里再套一个引号(单引号),怎么输入呀,有哪位可以帮帮我多谢了.
在英文状态下‘ ’
篇四 : 再谈PHP单引号和双引号区别
关于单引号和双引号的区别和效率问题。[]很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。
” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
‘ ‘ 单引号里面的不进行解释,直接输出。
从字面意思上就可以看出,单引号比双引号要快了。
例如:
$abc=’my name is tome’;
echo $abc //结果是:my name is tom
echo ‘$abc’ //结果是:$abc
echo “$abc” //结果是:my name is tom
特别在使用MYSQL语句的时候,双引号和单引号的用法让新手不知所措,在这里,举个例子,来进行说明。
假设查询条件中使用的是常量,例如:
select * from abc_table where user_name=’abc’;
SQL语句可以写成:
SQLstr = “select * from abc_table where user _name= ‘abc’” ;
假设查询条件中使用的是变量,例如:
$user_name = $_REQUEST['user_name']; //字符串变量
$user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//数组变量
SQL语句就可以写成:
SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;
对比一下:
SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;
SQLstr=”select * from abc_table where user_name =’ ” . $user _name . ” ‘ “;
SQLstr=”select * from abc_table where user_name =’ ” . $user["name"] . ” ‘ “;
SQLstr可以分解为以下3个部分:
1:”select * from table where user_name = ‘ ” //固定SQL语句
2:$user //变量
3:” ‘ ”
1,2,3部分字符串之间用”.” 来连接
[p=30, 2, left]
[/p]
====
一.首先想想PHP里所有的单词(其实应该叫符号)有几类.
2.常量.新手可能用得不多,常量的好处是全局性,穿透函数.速度也快些不过新手可以暂时不管常量这玩意儿.
3.变量.前面带"$"号的就是变量.可以为变量设一个"值",例如一串字符,一个数字,逻辑(真/假)值等.也可以表示一组值(数组,对象等)
4.值.通常要给常量与变量设置值.赋值语句$a=\'abc\'中,右边的\'abc\'即为值.
5.函数的参数(在括号里的).可以是常量,变量,值三种.
变量(常量)与值的关系正如下列各种情况.
"颜色"与"红",
"长度"与100,
"日期"与2007年10月25号"
二.什么情况下用PHP引号
其实只有第4项"值"需要用到引号,函数的里也只有值要用引号.并且只有字符串(日期值可以当成字符串)内容需要用到引号.数字(可用可不用),真假(不能用)例外.
例子
三.单引号与双引号的区别
一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.
例子
所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点.
四.字符串内部如果出现PHP引号怎么办--关于转义.
比如我们想输出: 我"是\'天才
这时候就必须用到转义了.转义即把本来有作用的符号转成无意义的字符.
这样就正常了,因为号把它后面的任何字符都转成无意义的符号.在这里来说,PHP解析器根本没把号后面的引号当成引号来看待.
同样的,还可以转义分号,$符号等特殊符号.
五.字符串的连接.
这是个麻烦的问题.一般来说,变量值,直接包含在双引号中就可以了.另外字符串的叠加用"."字符.
在复杂的情况里可以用大括号来包含,PHP便知道这是一个完整的东西,里面的引号不会影响到外面的引号关系.
与html的混合也很简单,最好养成HTML中全部用双引号,PHP中尽量用单引号的习惯.这样方便把大段的HTML代码复制过来,只要头尾加上单引号就是一个正确的字符串了.几百行的HTML代码也不用担心PHP引号错乱.
总结一下PHP引号使用原则
1.字符串的值用引号
3.在包含变量的时候,用双引号可以简化操作
4.复杂的情况下用大括号包起来
PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符\n需要用双引号才能好使,单引号则会直接把\n当成字符输出。
篇五 : 引号的用法
2. 并列的短语用, 如:八月的大街上摆满了水果,甜瓜啊,西瓜啊,葡萄啊......
3. 如:漓江的水真静啊,静得让你感觉不到它在流动;漓江的水真清啊,清得可以看见江底的沙后;离江的水真绿啊,绿
点的。
间接引用是把某人的原话非正式地、不完整地、随语意拈来放在自己的话中的引用。这类引述如果不作明白交代,就很难发现它是引用。例如:
4)适当地改善自己的生活,岂但“你管得着吗”,而且是顺乎天理,合乎人情的。
6)唐朝的张嘉贞说它“制造奇特,人不知其所为”。
由4)、5)、6)我们可以看出,间接引用中跟引回号在一起的句号或逗号,都要放到引回号之后。如此相对照,直接引用是完整地明引某人原文,句号或逗号等打在引回号之前。