在PowerShell中使用YQ时引用的问题

在PowerShell中使用YQ时引用的问题,powershell,yaml,yq,Powershell,Yaml,Yq,我正在尝试在PowerShell中运行此yq命令: yq eval '.. | select(has(""CK_RUN_CASE""))' problemset.yml 但我得到了这个错误信息: Error: open .. | select(has("CK_RUN_CASE)) problemset.yml: The filename, directory name, or volume label syntax is incorrect.

我正在尝试在PowerShell中运行此yq命令:

yq eval '.. | select(has(""CK_RUN_CASE""))' problemset.yml
但我得到了这个错误信息:

Error: open .. | select(has("CK_RUN_CASE)) problemset.yml: The filename, directory name, or volume label syntax is incorrect.
我试图遵循这个提示,但没有成功:

它在我的Ubuntu机器上运行,引用如下:

yq eval '.. | select(has("CK_RUN_CASE"))' problemset.yml
但出于某些原因,我真的需要它在我的Windows机器上工作。有什么建议吗?

使用此测试文件:

# problemset.yml
CK_RUN_CASE: foo
array:
  - CK_RUN_CASE: bar
在powershell中三次引用密钥名称似乎有效:

$ yq eval '.. | select(has("""CK_RUN_CASE"""))' problemset.yml
CK_RUN_CASE: foo
array:
  - CK_RUN_CASE: bar
CK_RUN_CASE: bar
用于转义双引号的方法相同:

$ yq eval '.. | select(has(\"CK_RUN_CASE\"))' problemset.yml
CK_RUN_CASE: foo
array:
  - CK_RUN_CASE: bar
CK_RUN_CASE: bar

但是,我找不到一种既适用于powershell又适用于WSL/linux的语法…

Tripple引用也适用于我。谢谢。