gpt4 book ai didi

powershell - 为什么命令行执行为Powershell中的脚本执行提供了不同的结果

转载 作者:行者123 更新时间:2023-12-02 23:07:30 24 4
gpt4 key购买 nike

在powershell命令提示符中运行以下命令可以正常工作:

Get-Service "my_service"
*output*
Status Name DisplayName
------ ---- -----------
Running my_service My_SERVICE


但是,如果使ps1 scritp如下所示,我的输出将不是我期望的。
$my_service_check = Get-Service "my_service"
echo "My Service Status: $my_service_check"

*output*
my_service: System.ServiceProcess.ServiceController

为什么脚本不返回与命令相同的输出?

最佳答案

它与echo语句中带引号的位置有关。

在您的示例中,$ my_service_check是一个System.ServiceProcess.ServiceController对象-它不是仅包含您看到的数据的字符串。您可以在其上调用方法,例如-$ my_service_check.Start()。

现在如果你有

echo "My Service Status:" $my_service_check

PowerShell足够聪明,可以意识到您想要在该对象中输出人类可读的数据,并且获得了漂亮的结果。

因为你有
echo "My Service Status: $my_service_check"

PowerShell将对象本身显示为字符串,这几乎从来不是您真正想要的。

关于powershell - 为什么命令行执行为Powershell中的脚本执行提供了不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58449667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com