我有一个为Docker提供支持的Powershell脚本。新的PowerShell核心版本(7.3)有一个突破性的变化:
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-7.3#passing-arguments-that-contain-quote-characters
我相当肯定这与发生的事情有关,但是在docker的上下文中,我不知道如何使用它?
以下是我的脚本:
param (
[string]$target = "build"
)
Write-Host "Running npm run $target"
$path = (Get-Item -Path ".\").FullName
docker run -it --memory="500m" --memory-swap="1g" --rm `
--mount type=bind,src="$path\src/MyProject/wwwroot/dist",dst=/work/wwwroot/dist `
--mount type=bind,src="$path\src/MyProject/fed/dist",dst=/work/fed/dist `
--mount type=bind,src="$path\src/MyProject/fed/.storybook",dst=/work/fed/.storybook `
--mount type=bind,src="$path\src/MyProject/fed/src",dst=/work/fed/src `
mytag npm run $target
无论我把Stop Parsing标记(--%)放在哪里,都会得到错误:
ParserError: C:\Projects\MyProject\rundocker.ps1:12
Line |
12 | --mount type=bind,src="$path\src/MyPRoject/wwwroot/dis …
| ~
| Missing expression after unary operator '--'.
1条答案
按热度按时间k5ifujac1#
TLDR在PS脚本顶部附近添加以下内容:
接下来的方法是重构以使用
Start-Process
: