对 PowerShell 会话使用单独的历史记录

对 PowerShell 会话使用单独的历史记录

我使用微软的电源外壳用于远程控制机器(通常使用OpenSSH对于 Windows),管理Git存储库,并在其中运行命令VS 代码(和其他东西)。

我通常使用命令历史记录返回并选择用于远程处理的 SSH 命令,但在使用 Git 或 VS Code 进行长时间会话后,SSH 历史记录最终会回到很远的地方。有没有办法使用不同的历史记录文件启动 PowerShell,以便每个任务的命令历史记录都不同?

中存储了一个历史文件%AppData%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt,因此也许有一个环境变量或命令行开关可以将其设置为会话的不同位置(通过启动 PowerShell文件)。

答案1

您可以使用以下方式设置历史文件位置设置 PSReadlineOption。如果您想切换,您可以创建几个.ps1文件,例如:

历史1.ps1包含

Set-PSReadlineOption -HistorySavePath 'C:\Users\Hali\Desktop\History1.txt'

默认历史.ps1包含

Set-PSReadlineOption -HistorySavePath 'C:\Users\Hali\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt'

并为它们创建别名。例如:

Set-Alias -Name History1 -Value 'C:\<path to>\History1.ps1'
Set-Alias -Name DefaultHistory -Value 'C:\<path to>\DefaultHistory.ps1'

相关内容