一般来说,我知道如何将命令的输出捕获到 Powershell 中的变量中:
> $output = python3 --version
> Write-Host $output
Python 3.7.0
Python 3 打印它的版本,但它被捕获到变量$output
中,并且控制台上没有显示任何内容。正如预期的那样:
> $output = python3 --version
> Write-Host $output
Python 3.7.0
但在 Python 2 的情况下,它不起作用。Python 2 打印它的版本,但它显示在控制台上而不是捕获,并且变量$output
为空。
> $output = python2 --version
Python 2.7.15
> Write-Host $output
>
我尝试了一些替代语法,但到目前为止没有任何帮助:
> $output = (python2 --version) # use a subcommand
Python 2.7.15
> $output = "$(python2 --version)" # enclose the subcommand into a string
Python 2.7.15
如果我在 中使用它Write-Command
,输出如下所示:
> Write-Host "Python version: $(python2 --version)"
Python 2.7.15
Python version:
>
Python 2 如何打印它没有被捕获到变量中的版本,并且无论如何都可以捕获它?