首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在powershell中定义字符串时,单引号和双引号有什么区别

在powershell中定义字符串时,单引号和双引号有什么区别
EN

Stack Overflow用户
提问于 2011-05-12 00:14:47
回答 2查看 9K关注 0票数 31

一直困扰我的简单问题:在powershell中,我可以这样定义字符串:

代码语言:javascript
复制
$s1 = "Boogety boo"

代码语言:javascript
复制
$s2 = '.net rocks'

翻译有什么不同吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-12 00:19:17

双引号允许变量扩展,而单引号不允许:

代码语言:javascript
复制
PS C:\Users\Administrator> $mycolor="red"
PS C:\Users\Administrator> write-output -inputobject 'My favorite color is $mycolor'
My favorite color is $mycolor

来源:http://www.techotopia.com/index.php/Windows_PowerShell_1.0_String_Quoting_and_Escape_Sequences

(我知道1.0版,但原理仍然是一样的)

票数 33
EN

Stack Overflow用户

发布于 2017-01-12 09:35:07

这不是试图成为一个更好的答案。只是另一种说法。

撇号和引号之间的变量扩展与UNIX shell上的相同(sh、ksh、bash)。使用撇号将按原样接受字符串,而不处理任何转义。

代码语言:javascript
复制
PS C:\Users\lit> $x = "`t"
PS C:\Users\lit> $x

PS C:\Users\lit> Write-Output "now${x}is"
now     is
PS C:\Users\lit> $x = '`t'
PS C:\Users\lit> $x
`t
PS C:\Users\lit> Write-Output "now${x}is"
now`tis
PS C:\Users\lit> $word = "easy"
PS C:\Users\lit> "PowerShell is $word"
PowerShell is easy
PS C:\Users\lit> 'PowerShell is $word'
PowerShell is $word
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5967407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档