我在linux中使用EOF对'psql'命令进行了多行注入。
psql << EOF sql1 sql2
EOF
我想在 windows powershell 中做同样的事情,因为(是的,这对我来说很难)我们从 linux 迁移到 windows。我尝试了 scriptblock,使用 psql 作为块,使用命令作为参数。行不通。请让我知道如何在 Windows PowerShell 中模拟 EOF。谷歌对此没有太多了解。
我在linux中使用EOF对'psql'命令进行了多行注入。
psql << EOF sql1 sql2
EOF
我想在 windows powershell 中做同样的事情,因为(是的,这对我来说很难)我们从 linux 迁移到 windows。我尝试了 scriptblock,使用 psql 作为块,使用命令作为参数。行不通。请让我知道如何在 Windows PowerShell 中模拟 EOF。谷歌对此没有太多了解。
PowerShell 支持here-strings,但它不支持任意分隔符。它也不支持通过先命名命令和第二个输入来进行标准输入重定向——您只能将输入通过管道传递给命令。这应该最接近您正在做的事情:
@"
sql1
sql2
"@ | psql
如果要禁止变量替换,请使用单引号而不是双引号。