如何基于当前运行的终端有条件地在PowerShell配置文件中导入模块?

时间:2020-07-25 10:15:12

标签: powershell windows-terminal

仅当从Windows Terminal启动PowerShell时,我才想导入一些模块(posh-git,oh-my-posh等)。当使用conhost或从Cmder启动PowerShell时,应排除这些导入。

但是当我从Windows Terminal或conhost或Cmder打开PowerShell时,我看到$profile指向同一文件。

有没有一种方法可以识别当前正在使用的终端,以便可以在我的$profile文件中执行类似的操作?

If ($TERM -eq 'WT') {
    Import-Module posh-git
    Import-Module oh-my-posh
} 

1 个答案:

答案 0 :(得分:1)

您可以使用自动变量WSLENVWT_PROFILE_IDWT_SESSION之一来检查Powershell是否在Windows Terminal中运行。它们在“ 独立” Powershell中不存在。

例如:

function Test-IsWindowsTerminal { [bool]($env:WT_Session)}