如何在Ubuntu上获取“ pwsh -c {...}”以通过powershell命令的表达式结果传递?

时间:2018-06-21 14:55:11

标签: powershell ubuntu powershell-core

在我的Ubuntu 16服务器上的PHP脚本中,我希望能够检查Powershell是否安装了某个模块,我尝试通过行来完成

pwsh -c {Get-Module -ListAvailable -Name "VMware.PowerCLI"} && echo 1 || echo 0

但是,即使未安装该模块,该行也将返回1。我想这是因为pwsh会独立于powershell命令的结果返回true,以表示该命令已正确执行。无论如何,我有没有办法使pwsh通过结果?

1 个答案:

答案 0 :(得分:1)

在运行PowerShellCore 6.0.2的Mac上:

 $ pwsh -c 'if(-not (Get-Module -ListAvailable -Name VMware.PowerCLI)){ exit 1 }' && echo yes || echo no
 yes
 $ pwsh -c 'if(-not (Get-Module -ListAvailable -Name BadModuleName)){ exit 1 }' && echo yes || echo no
 no