如何在点源时调用全局命令

时间:2016-01-05 15:12:50

标签: powershell powershell-v4.0

示例:

点源openssl.exe以在其上下文中调用命令

. .\openssl.exe
OpenSSL> version -a

生成版本信息

如果我想要使用传统的cls清除屏幕,它会尝试在 OpenSSL 的上下文中调用它。

如何从上一个/非点源上下文中调用cls。除此之外,你甚至可以退后一步。从点源采购?

2 个答案:

答案 0 :(得分:2)

您正在调用交互式openssl会话。在该会话中,您可以运行OpenSSL(子)命令,但不能运行PowerShell cmdlet(因为环境现在是OpenSSL,而不是PowerShell)。通过openssl退出quit以返回PowerShell。

Dot-sourcing在这里没有提供任何好处,BTW。您只需运行.\openssl即可获得相同的结果。

您还可以通过在命令行上提供子命令来以非交互方式运行openssl

.\openssl version -a

答案 1 :(得分:1)

我相信你最好通过非交互模式执行命令:. .\ openssl.exe version -a。这将吐出版本信息,然后将您留在shell中。有些程序在交互模式下有命令来调用shell命令(想到MySQL),但它看起来并不像OpenSSL支持它。您可以退出交互模式并使用quit命令返回shell。