尝试在 powershell 5.1 中使用here-strings 但不起作用

2024-05-15

当我尝试在 PS 5.1 中使用此处字符串时,出现红色曲线。我缺少什么?

function Main {
    $csv = @"
    test1,test2
    "@

    echo $csv
}
Main

Error:

White space is not allowed before the string terminator.

Note:

  • 以下内容至少适用于 PowerShell 7.3.2

  • 对here-string语法的改进已经亮起绿灯——既支持缩进又支持single-line 变体 - 但尚未实现 - 请参阅GitHub 问题 #2337 https://github.com/PowerShell/PowerShell/issues/2337.


PowerShell 的这里的字符串 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_quoting_rules#here-strings have 严格的语法要求closing分隔符 ('@ or "@):

  • 一定是at the 生产线的最开始- 甚至不空白允许在它之前.

这使得使用起来很棘手缩进代码,因为缩进无法维持,正如您所经历的:

   @'
   hi there
'@  # OK: closing delimiter is at the *very start* of the line.


   @'
   hi there
   '@  # !! BROKEN -> error "White space is not allowed before the string terminator."

另外,请注意这里的字符串content也不支持缩进:

  • 也就是说,第一个示例(工作示例)中生成的逐字值是 hi there, i.e. 包括前导空白。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试在 powershell 5.1 中使用here-strings 但不起作用 的相关文章

随机推荐

  • Java 语言中不可用的字节码功能

    当前 Java 6 是否有一些事情可以在 Java 字节码中完成而在 Java 语言中无法完成 我知道两者都是图灵完备的 所以将 可以做 理解为 可以做得更快 更好 或者只是以不同的方式 我正在考虑额外的字节码 例如invokedynami
  • 如何在 Django 中将 pdf 作为电子邮件附件发送

    您好 我正在使用以下 2 个函数来创建并通过邮件即时发送 pdf 我究竟做错了什么 导出pdf功能在浏览器中显示时可以正常工作 我得到的错误是 类型错误 ContentFile 对象不支持索引 我做错了什么 几乎所有这些代码都来自一些博客
  • 单位安全平方根

    我只是想知道如何以与 F 正确交互的方式编写用户定义的平方根函数 sqrt 单位制 http blogs msdn com andrewkennedy archive 2008 09 04 units of measure in f par
  • 错误:超出最大更新深度。反应状态

    我收到此错误 我猜是由于反应状态爆发 但我不知道这里出了什么问题 所以我有父子关系组件 如下所示 父组件 class App extends Component constructor props super props this stat
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • X-Amz-Expires 是向 AWS 发出的请求所需的标头/参数吗?

    Is X Amz Expires必需的标头 参数 官方文档不一致 用在一些例子 http docs aws amazon com AmazonS3 latest API sigv4 query string auth html 虽然不在ot
  • GL_CULL_FACE使所有对象消失

    我正在尝试在 openGL3 3 中创建一些简单的多边形 我有两种类型的对象 具有以下属性 对象 1 10 个顶点 按顺序在下面列出 存储在GL ARRAY BUFFER并使用GL TRIANGLE FAN v x y z w v 0 0
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • OSError: [Errno 22] 当我尝试 .read() json 文件时

    我只是想用 Python 读取我的 json 文件 当我这样做时 我位于正确的文件夹中 我在 下载 中 我的文件名为 Books 5 json 但是 当我尝试使用 read 函数时 出现错误 OSError Errno 22 Invalid
  • 为什么 std::queue 使用 std::dequeue 作为底层默认容器?

    继续阅读cplusplus com http www cplusplus com reference queue queue std queue实现如下 队列被实现为容器适配器 这些类 使用特定容器类的封装对象作为其 底层容器 提供一组特定
  • HornetQ OutOfMemory 启动时带有大日志

    使用 HornetQ 2 0 0 CR2 独立 非集群服务器的默认配置 当我尝试使用大日志 gt 1Gb 启动服务器时 出现 OutOfMemory 异常 main 12 59 43 505 INFO org hornetq integra
  • 从 Kubernetes Python 客户端登录到 GitLab 存储库

    我有一个 Django 应用程序 它使用python 的官方 Kubernetes 客户端 https github com kubernetes client python并且工作正常 但它只部署 正确 公共注册表 有没有办法执行登录后让
  • 在 R 中将时间间隔数据扩展为天数

    假设我有如下所示的数据 interval id indiv id role start date end date 1 1 A 2006 05 01 2006 06 16 2 1 B 2006 06 16 2006 10 16 3 1 A
  • 如何通过终端运行 JavaScript 脚本?

    例如 如果您要运行 Python 脚本 您可以输入python 文件名 py或者如果你想运行 C 程序制作文件名 then 文件名 你如何做到这一点 js files 另一个答案是 NodeJS Node js 是一个基于 Chrome 的
  • Mongo C# 驱动程序更新嵌套数组中的特定元素

    如何在 Mongo C 驱动程序 中修改嵌套属性 数组 中的单个元素而不检索整个文档 public class Element public int Value get set public string Name get set publ
  • 在 Python 中调用 AutoIt 函数 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我见过这个帖子 https stackoverflow com questions 151846 get
  • 如何在Android studio中调用.so库上的方法

    编辑 请参阅我的第一个答案 我想在我的项目中使用 android 串口 api 我这样做有很多麻烦 关于如何配置旧版本的 gradle 或如何使用 NDK 进行编译 存在大量相互冲突的信息 而这两者都没有用 我完全迷失了 我发现唯一可能正确
  • VS2015 中缺少 SpecFlow“生成测试定义”上下文菜单

    我正在尝试 VS2015 并编写 SpecFlow 功能文件 当我右键单击该文件时 我找不到 生成测试定义 上下文菜单 这种情况仅发生在 类库 包 中 这显然是 DNX 5 0 库 这是我的project json version 1 0
  • 如何将 Solarium 配置为使用 POST 而不是 GET 请求

    我面临的问题是我们发送到 solr jetty 的 uri 变得很长 超过 9k 字节 超出了 jetty 的默认限制 解决方案是从 GET 请求切换到 POST 请求 因为我们不想增加 jetty 可以接受的 requestHeaderS
  • 尝试在 powershell 5.1 中使用here-strings 但不起作用

    当我尝试在 PS 5 1 中使用此处字符串时 出现红色曲线 我缺少什么 function Main csv test1 test2 echo csv Main Error White space is not allowed before