Эта функция, кажется, была добавлена в PowerShell версии 5.1, так как я не вижу ее на моем ноутбуке, все еще работающем с 5.0.
При нажатии Backspaceв PowerShell он будет издавать звуковой сигнал, если нет (больше) текста для удаления. Это очень раздражает, если вы случайно удерживаете клавишу слишком долго, так как звук будет продолжать звучать в течение короткого времени после того, как вы отпустите ее.
Я нашел этот вопрос Super User, который предлагает отключить службу Beep, которая работает, но я хотел бы по-прежнему иметь возможность использовать звуковые сигналы в сценариях.
Как отключить звук "beep on backspace" без полного отключения звука?
powershell
FastEthernet
источник
источник
Set-PSReadlineOption -BellStyle None
Get-Help about_Profiles
Ответы:
Звуковой сигнал предоставляется
PSReadline
модулем, который поставляется с Windows 10. Вам нужно изменитьPSReadline
опцию, чтобы отключить звонок:Если вы хотите это изменение для всех будущих сеансов PowerShell, вам нужно добавить эту команду в свой профиль PowerShell . Например, чтобы установить параметр «Текущий пользователь, текущий хост» (
$Profile
):Первая строка позволяет вашему профилю запускать скрипт запуска при открытии PowerShell ( О политиках выполнения ). Во второй строке проверяется, есть ли у вас сценарий запуска, определенный для «Текущий пользователь, Текущий хост». Третья строка добавляет опцию звонка в ваш скрипт запуска.
источник
Более постоянное решение, которое расширяет ответ @PetSerAl :
set-executionpolicy remotesigned
. Это позволит запускать сценарии PowerShell на вашем компьютере. Если вы не уверены, что это не продолжайте.C:\Windows\System32\WindowsPowerShell\v1.0
если вы используете Windows 10.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Все (новые) консоли PowerShell для всех пользователей на вашем компьютере теперь молчат.
Этот ответ для Windows 10. Для других версий Windows папка может отличаться.
источник
Set-ExecutionPolicy
может потребоваться повышенные разрешения, поэтому, если вы хотите изменить этот параметр только для вашего собственного пользователя, вы можете использовать его с-Scope CurrentUser
аргументом.Я подал этот элемент Github на PsReadLine, поскольку я не уверен, что это изменение было преднамеренным - https://github.com/lzybkr/PSReadLine/issues/422
источник
Адаптация ответа @Odys с использованием оболочки Bash в подсистеме Windows для Linux (при условии, что она включена).
1 Откройте командную строку от имени администратора и запустите
2 Введите,
bash
чтобы запустить оболочку bash3 Перейдите в правильный каталог
4 Создайте файл с именем «Microsoft.Powershell_profile.ps1» и запишите в него «Set-PSReadlineOption -BellStyle None».
источник
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
дать себе привилегии. Я не помню свой пароль root, поэтому я не могу подтвердить, что это работает.