在我的Ubuntu 16服务器上的PHP脚本中,我希望能够检查Powershell是否安装了某个模块,我尝试通过行来完成
pwsh -c {Get-Module -ListAvailable -Name "VMware.PowerCLI"} && echo 1 || echo 0
但是,即使未安装该模块,该行也将返回1。我想这是因为pwsh
会独立于powershell命令的结果返回true
,以表示该命令已正确执行。无论如何,我有没有办法使pwsh
通过结果?
答案 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