我不得不用powershell替换我的PHP变量。变量是$env = "TEST"
,但用powershell我想把它替换为$env = "TEST"
,因为使用Azure版本。目前我有一个脚本如下:
(Get-Content -Path 'C:\MyProject\MyBuildOutputs\connect.php') |
Foreach-Object { $_ -replace '$env = "TEST"', '$env = "PROD"' } |
Set-Content -Path 'C:\MyProject\MyBuildOutputs\connect.php' -Force
但不幸的是,它不工作,我不知道为什么。
我该怎么做呢?
1条答案
按热度按时间hgqdbh6s1#
发生这种情况是因为Powershell的
-replace
需要一个正则表达式模式。$
在正则表达式中有一个特殊的含义,它是行尾锚点。要使用美元符号作为文本字符,可以将其转义为
\$
,或者使用[regex]
类型加速器访问escape()
并让Powershell执行转义。