单引号和双引号的区别,与单引号

在php
编制程序中双引号”与单引号’是字符串与字符表现情势,那么我们要出口它咋办吗,上面大家就来看个轻松的输出单双引号的实例吧。

  你在shell
prompt后边敲打键盘、直到按下enter的时候,你输入的文字便是command
line了,然后shell才会以进度格局推行你所付出的指令。不过,你又可领略:你在command
line输入的每三个文字,对shell来讲,有怎么样类型之分呢?

1.代码例证:

一、单引号与双引号差别

首页大家来看输出双引号的三种办法
方法一.

 轻巧来说,command line的每二个charactor分为如下二种:

<?php

  1、” “双引号里面包车型地铁字段会经过编写翻译器解释,然后再作为HTML代码输出。

复制代码 代码如下:

单引号和双引号的区别,与单引号。   *literal:也正是一般纯文字,对shell来讲未有新鲜作用。

  $i=’只拜望到一次’;

  2、’ ‘单引号里面的不进行解释,间接出口。

$str =’作者要出口双引号”‘;
echo $str;

   *meta:对shell来说,具备一定作用的保留字。

  echo “$i”;

  从字面意思上就足以看出,单引号比双引号要快了。

结果为:笔者要出口双引号”

literal没有怎么好说的,凡是 abcd、123456
等这一个“文字”都是literal。可是meta确常使我们质疑。事实上,前两章大家在command
line中已遇到五个差非常的少每一趟都会越过的meta:

  echo “<p>”;

  例1:

方法二

    *IFS:由<space> <tab>
<enter>三者之一组成(大家常用space)。

  echo ‘$i’;

    $abc=’my name is tome’;
    echo $abc //结果是:my name is tom
    echo ‘$abc’ //结果是:$abc
    echo “$abc” //结果是:my name is tom

复制代码 代码如下:

    *CR:由<enter>产生。

?>

 

$str =”输出双引号\””;
echo $str;
//结果输出双引号”

IFS是用来拆分command line的每一个词(word)用的,因为shell command
line是按词来拍卖的。而CSportage则是用来了却command
line用的,那也是为啥大家敲<enter>命令就能够实践的来由。除了IFS和C帕杰罗外,常用的meta还大概有:

2.运维结果:

  参考:

出口单引号与双引号

= :  设定变量。

    只会看出一次

复制代码 代码如下:

$ :  做变量或运算替换(请不要与 shell prompt 搞混了)。

 

<?php
$str =”输出单引号'”;
$str1=’输出单引号\”;
echo $str;
?>

> :  重定向 stdout。

    $I

单引号中间的字面里面包车型地铁变量不会推行,双引号中间的变量能够推行,所以在向来不变量的事态下,用单引号输出字符效用要比用双引号高非常多。

< :  重定向 stdin。

3.代码分析:

对于特殊字符,大家可以用转移字符”\”即可.

|:   管道命令。

双引号中所包括的变量会自行被替换来实际数值,而单引号中带有的变量则按一般字符串输出。

您也许感兴趣的篇章:

  • php中的单引号、双引号和转义字符详解
  • 轮换php字符串中的单引号为双引号的必由之路
  • PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
  • 浅谈PHP中单引号和双引号到底有吗差距吧?
  • PHP中单引号与双引号的分别解析
  • php使用变量动态创制类的目的用法示例
  • PHP中单双号与变量

& :  重定向 file descriptor ,或将下令置于后台推行。

( ): 將其內的一声令下置于 nested subshell 施行,或用来运算或指令替换。

{ }: 將其內的一声令下置于 non-named function
中进行,或用在变量替换的限制范围。

; :  在前二个指令甘休时,而忽略其再次回到值,继续实行下一個限令。

&& : 在前一個限令截止时,若再次来到值为 true,继续推行下一個下令。

|| : 在前一個下令截至时,若重回值为 false,继续试行下一個指令。

!:   实践 history 列表中的命令

….

若果大家要在command line上将那一个保留元字符的成效关闭的话,就要用到
quoting 管理了。

在bash中,大家常用的 quoting有如下三种艺术:

    *hard quote:”(单引号),凡在hard quote中的全数meta均被关闭。

    *soft quote:””(双引号),在soft
quote中的超越五成meta都会被关闭,但一些保留如$,(断行应该也能被保留见echo
“$A”的事例)。

    *escape:\
(反斜线),独有紧接在escape(跳脱字符)之后的单一meta才被关闭。

 

上边包车型大巴事例將有利于大家对 quoting 的询问:

 

        $ A=B C        # 空白键未被关门,作为IFS 管理。

        $ C: command not found.

        $ echo $A

    

        $ A=”B C”        # 空白键已被关闭,仅作空白符号管理。

        $ echo $A

        B C

 

在首先次设定 A 变量时,由于空白键未有被关闭,command line 将被解读为:

* A=B 然后相见<IFS>,再推行 C 命令

在第叁次设定 A 变量时,由于空白键置于 soft quote
中,因而被关门,不再作为 IFS :

* A=B<space>C

骨子里,空白键无论在 soft quote 照旧在 hard quote 中,均会被关闭。Enter
鍵亦然:

[root@scchdpdev02102:/root]#A=’B

> C’

[root@scchdpdev02102:/root]#echo “$A”

B

C

[root@scchdpdev02102:/root]#echo $A

B C

在上例中,由于 <enter> 被停放 hard quote 个中,由此不再作为 CEscort字符來管理。

这里的 <enter> 单纯只是一个断行符号(new-line)而已,由于 command
line 并沒得到 CSportage 字符,

故而进来第二個 shell prompt (PS2,以 > 符号表示),command line
并不会终结,

乃至第三行,我们输入的 <enter> 并不在  hard quote
里面,由此并沒被关门,

那时候,command line 蒙受 C凯雷德 字符,于是甘休、交给 shell 來管理。

相关文章