仅当从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
}
答案 0 :(得分:1)
您可以使用自动变量WSLENV
,WT_PROFILE_ID
或WT_SESSION
之一来检查Powershell是否在Windows Terminal中运行。它们在“ 独立” Powershell中不存在。
例如:
function Test-IsWindowsTerminal { [bool]($env:WT_Session)}