2

在 bash 中(至少在 Ubuntu 中),可以不保存以历史记录 (HISTCONTROL) 中的空格开头的命令。有没有办法在 Powershell 中获得此功能?

4

1 回答 1

5

从至少 PowerShell 5.1 开始,您可以使用Set-PSReadlineOption's-AddToHistoryHandler来验证是否应使用自定义函数将命令添加到历史记录中。

-AddToHistoryHandler指定控制哪些命令添加到 PSReadLine 历史记录的 ScriptBlock。

ScriptBlock 接收命令行作为输入。如果 ScriptBlock 返回$True,则将命令行添加到历史记录中。

为了完整起见,这里有一个代码示例,您可以添加到您的$PROFILE.CurrentUserAllHosts

Set-PSReadLineOption -AddToHistoryHandler {
    param($command)
    if ($command -like ' *') {
        return $false
    }
    # Add any other checks you want
    return $true
} 
于 2020-07-16T14:04:09.133 回答