zoukankan      html  css  js  c++  java
  • PowerShell: 单引号字符串和双引号字符串的区别

    当输入字符串表达式时,可以使用单引号('')或双引号("")括住字符串,但PowerShell解析单引号和双引号中字符串的方式是不同的。

    一、单引号括住的字符串,字符串被精确地传递到命令,字符串中包含的任何表达式都不会被计算,只会被解释成文本。例如:

    $varA=200

    Write-host 'The value of $varA is $varA.'

    输出为:

    The value of $varA is $varA.

    变量$varA不会被相应的值替换。

    二、双引号括住的字符串,在字符串传递到命令执行前,变量名会被变量值替代,表达式也会被计算。例如:

    例1:

    $varA=200

    Write-host "The value of $varA is $varA."

    输出为:

    The value of 200 is 200.

    变量$varA相应的值200替换。

    例2:

    "The value of $(100+100) is 200"

    输出为:

    The value of 200 is 200.

    表达式$(100+100)被计算,并且结果被插入字符串中。

    要避免双引号中的字符串被变量值/表达式值替换,需要在变量名/表达式前使用反单引号(`)。例如:

    $varA=200

    Write-host "The value of `$varA is $varA."

    输出为:

    The value of $varA is 200.

    三、如果字符串使用单引号括起来,同时被括起的字符串中包含单引号,则需使用两个单引号,例如:

    'He doesn''t want to go home.'

    如果字符串使用双引号括起来,同时被括起的字符串中包含双引号,则需使用两个双引号,例如:

    "He said, ""How are you?"""

    当然,也可以使用反单引号(`)字符来强制PowerShell将单引号或双引号解释为文本,例如:

    "He doesn`'t want to go home."

    "He said, `"How are you?`""

  • 相关阅读:
    linux下wc命令详解
    用shell脚本监控进程是否存在 不存在则启动的实例附带if判断详细条件
    shell脚本输出给字体带颜色
    在centos6.5下安装配置docker
    php lock_sh共享锁 与 lock_ex排他锁
    hadoop streaming 多路输出 [转载]
    gzip压缩及测试方法【转载】
    天空没有翅膀的痕迹,而我已飞过
    logrotate机制与原理[转载]
    服务器 数据库 问题定位的几个工具
  • 原文地址:https://www.cnblogs.com/ITGirlXiaoXiao/p/2659874.html
Copyright © 2011-2022 走看看