Добавить в корзинуПозвонить
Найти в Дзене
Windows 11, 10, etc

▶️ #PowerShell: как исключить отдельную команду из истории ввода

Причин может быть много. У меня это, в основном, нежелание видеть потом команду при навигации по истории стрелками, в автодополнении и Ctrl+R (см. также пункты 3 и 4 в этом посте). Добавьте в свой профиль этот код: # Не добавляет в историю ввода команды, которые: # - состоят из трёх и менее символов # - начинаются с пробела # - заканчиваются "точкой с запятой" Set-PSReadLineOption -AddToHistoryHandler { param([string]$line) return $line.Length -gt 3 -and $line[0] -ne ' ' -and $line[-1] -ne ';' } Тот случай, когда описание длиннее команды :) Пробел нажимаю, если заранее знаю, что не хочу включать команду в историю. А вот ; удобно, когда уже набрал команду. Поскольку это быстрее, чем жать Home и пробел. Как и автодополнение, это - фишка модуля PSReadLine. То есть команда не попадет в историю модуля, которая хранится в: %appdata%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt Но в Get-History она все-таки будет видна ✌️

▶️ #PowerShell: как исключить отдельную команду из истории ввода

Причин может быть много. У меня это, в основном, нежелание видеть потом команду при навигации по истории стрелками, в автодополнении и Ctrl+R (см. также пункты 3 и 4 в этом посте).

Добавьте в свой профиль этот код:

# Не добавляет в историю ввода команды, которые:

# - состоят из трёх и менее символов

# - начинаются с пробела

# - заканчиваются "точкой с запятой"

Set-PSReadLineOption -AddToHistoryHandler {

param([string]$line)

return $line.Length -gt 3 -and $line[0] -ne ' ' -and $line[-1] -ne ';'

}

Тот случай, когда описание длиннее команды :)

Пробел нажимаю, если заранее знаю, что не хочу включать команду в историю. А вот ; удобно, когда уже набрал команду. Поскольку это быстрее, чем жать Home и пробел.

Как и автодополнение, это - фишка модуля PSReadLine. То есть команда не попадет в историю модуля, которая хранится в:

%appdata%\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

Но в Get-History она все-таки будет видна ✌️