单引号和双引号

1.单引号和双引号的区别

str=yalong
  echo "The str is $str" >>  The str is yalong #双引号中的$str被其值yalong替换,即双引号允许变量替换。
  echo ‘The str is $str‘  >>  The str is $str #单引号中的内容被原样输出,即单引号不允许变量替换。

总结:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

单引号字串中不能出现单引号(对单引号使用转义符后也不行)

双引号里可以有变量,允许变量替换
          双引号里可以出现转义字符

2.不用引号和用引号(单引号或者双引号)的区别

[[email protected] ~]$ A=HELLO WORLD
bash: WORLD: command not found...
[[email protected] ~]$ A=‘HELLO WORLD‘
[[email protected] ~]$ echo $A
HELLO WORLD
[[email protected] ~]$ A=HELLO \t world
bash: t: command not found...
[[email protected] ~]$ A=‘hello \t world‘
[[email protected] ~]$ echo $A
hello \t world
[[email protected] ~]$ A="hello \t world"
[[email protected] ~]$ echo $A
hello \t world
总结:定义变量时,若等号右侧的字符串中含有空格或者制表符,换行符时,要用引号将打算赋值的字符串括起,否则报错。

关于转义字符\的使用:
echo  "hello world" >>  hello world  #这里面双引号就是双引号,不输出
echo  \"hello world\" >> "hello world"  #输出双引号,这里用了转义字符\所以双引号失去了引号功能,成了字符串。
3.反引号的使用``,执行里面的命令
[[email protected] ~]$ echo aa=`date +%H` #这里用的是反转义字符,esc下面的那个符号。
aa=23
[[email protected] ~]$ echo aa="date+%H" #这里用的是双引号,命令失效。
aa=date+%H
A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量A
A=$(ls -la) 等价于反引号
A=`pwd` & echo $A
A=$(pwd) $ echo $A

————————————————
版权声明:本文为CSDN博主「牛大财有大才」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26442553/article/details/79905735

原文地址:https://www.cnblogs.com/kakaisgood/p/11818977.html

时间: 2024-07-29 23:59:05

单引号和双引号的相关文章

单引号中有双引号,双引号还需要引号怎么办

单引号中有双引号,双引号还需要引号怎么办     今天,我在做一个日历控件时,发现在拼接HTML中的input时,出现引号里还有引号:     '<input type="button" onclick="findSearch("MU")"'/>     结果,火狐浏览器出现"死机"现象.     将findSearch中的双引号改为单引号,结果出现报错提示:     后来将findSearch中的双引号利用转义字

linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免这个问题,因此就产生了单引号和双引号.他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的'$'(参数替换)和'`'(命令替换)是例外.所以,两者基本上没有什么区别,除非在内容中遇到了参数替换符$和命令替换符`. 所以下面的结果:num=3echo '$num'$numecho "$n

mysql单引号和双引号

表名,列名最好用`(esc下面那个,不用`会出错) 这就要从双引号和单引号的作用讲起:双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出.例如:$abc='I love u';echo $abc //结果是:I love uecho '$abc' //结果是:$abcecho "$abc" //结果是:I love u所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ...&q

单引号、双引号 Html转义符 ----2014年12月2日

&apos;----单引号 "-----双引号 在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下: <input value="Test" type="button" onclick="alert(""OK"");" /> IE提示出错后,再漫不经心地改为: <input value="Test" type="button&

第14课 单引号和双引号

1. 单引号和双引号 (1)C语言中单引号用来表示字符字面量(是个数值) (2)C语言中双引号用来表示字符串字面量(是个指针) ①'a'表示字符字面量(97),在内存中占用1个字节,'a'+1表示'a'的ASCII码加1,即'b' ②"a"表示字符串字面量(是个指针),在内存中占2个字了,"a"+1表示指针运算,指向"a"的结束符"\0" [实例分析]单引号与双引号的本质 #include <stdio.h> in

C语言中的单引号和双引号含义

C语言中的单引号和双引号含义迥异, 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,'a'的含义与0141或97严格一致. 而用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符'\0'初始化.

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

" "(双引号)与 ' '(单引号)的区别  你在shell prompt后面敲打键盘.直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令.但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能.   *meta:对shell来说,

php中超全局数组变量$_GET和$_POST以及单引号和双引号的区别

1,$_GET的传参是在地址栏明文显示的,$_POST是通过http主体请求,页面上看不到(通过firebug可以查看): 2,http并没有明确规定$_GET和$_POST所能提交的数据的限制,$_GET受浏览器和web服务器的相关设置,$_POST也受web服务器以及php.ini中的相关设置而定,$_GET一般提交数据的大小不超过2k: 3.从设定上来说$_GET一般用于获取或查询数据而进行传参,$_POST一般用于更新,插入,删除数据而进行传参,用$_POST提交数据相对于$_GET安全

再谈PHP单引号和双引号区别

其实在之前的PHP100视频教程里我就讲过,单引号和双引号的区别和效率问题,但还是很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究.所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑." " 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出.' ' 单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引号要快了. 例如:     香格里拉娱乐城$abc='my name is t

辛星和你彻底解读单引号和双引号的区别

本以为PHP中单引号的区别这么简单而基础的知识应该是每个PHPer都知道的,结果还是有很多PHPer不清楚,这一点我也非常痛心,痛定思痛,于是,我们就来彻底搞定PHP中的单引号和双引号的差别,其实很简单的. 当PHP解析双引号的时候,会自动的被分析器分析一次,进行一次到字符串的转化,因此如果双引号的 字符串中有变量,会被自动用变量去替代,比如如下代码: <?php $xin = "辛星"; echo "$xin"; echo '$xin'; 上述代码的输出如下