此功能似乎已在PowerShell版本5.1中添加,因为在仍运行5.0的笔记本电脑上找不到该功能。
Backspace在PowerShell中按下时,如果没有(更多)文本要删除,它将发出“哔”声。如果您不小心将按键按住得太久,这会很烦人,因为在您松开按键后声音会持续一会儿。
我发现了这个超级用户问题,该问题建议禁用Beep服务,该服务确实有效,但是我仍然希望能够在脚本中使用蜂鸣声。
如何在不完全禁用蜂鸣声的情况下禁用“蜂鸣声”?
此功能似乎已在PowerShell版本5.1中添加,因为在仍运行5.0的笔记本电脑上找不到该功能。
Backspace在PowerShell中按下时,如果没有(更多)文本要删除,它将发出“哔”声。如果您不小心将按键按住得太久,这会很烦人,因为在您松开按键后声音会持续一会儿。
我发现了这个超级用户问题,该问题建议禁用Beep服务,该服务确实有效,但是我仍然希望能够在脚本中使用蜂鸣声。
如何在不完全禁用蜂鸣声的情况下禁用“蜂鸣声”?
Answers:
哔哔声由PSReadline
Windows 10附带的模块提供。您需要更改PSReadline
选项以禁用铃声:
Set-PSReadlineOption -BellStyle None
如果要在以后的所有PowerShell会话中进行此更改,则需要将此命令添加到PowerShell配置文件中。例如,要设置“当前用户,当前主机”($Profile
)的选项:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
if (!(Test-Path -Path "$Profile")) {New-Item -ItemType File -Path "$Profile" -Force}
Add-Content -Value "Set-PSReadlineOption -BellStyle None" -Path "$Profile"
第一行允许您的配置文件在PowerShell打开时运行启动脚本(关于执行策略)。第二行测试是否已经为“当前用户,当前主机”定义了启动脚本。第三行将bell选项添加到启动脚本中。
一个更持久的解决方案,扩展了@PetSerAl的答案:
set-executionpolicy remotesigned
。这将使PowerShell脚本可以在您的计算机上运行。如果您不确定那是什么,请不要继续。C:\Windows\System32\WindowsPowerShell\v1.0
如果您使用的是Windows 10,请转到。Microsoft.PowerShell_profile.ps1
。Set-PSReadlineOption -BellStyle None
。现在,计算机上所有用户的所有(新)PowerShell控制台均处于静默状态。
该答案适用于Windows10。对于Windows的其他版本,文件夹可能有所不同。
Set-ExecutionPolicy
可能需要提升的权限,因此,如果您只想为自己的用户更改此设置,则可以将其与-Scope CurrentUser
参数一起使用。
我将此Github项目提交给PsReadLine,因为我不确定此更改是否有意-https: //github.com/lzybkr/PSReadLine/issues/422
使用Windows子系统(适用于Linux)上的Bash shell改编@Odys的答案(假设您已启用它)。
1以管理员身份打开命令提示符,然后运行
set-executionpolicy remotesigned
2键入bash
以启动bash shell
3转到正确的目录
cd /mnt/c/Windows/System32/WindowsPowerShell/v1.0
4制作一个名为“ Microsoft.Powershell_profile.ps1”的文件,并将其写入“ Set-PSReadlineOption -BellStyle None”
echo "Set-PSReadlineOption -BellStyle None" >> Microsoft.Powershell_profile.ps1
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
给自己特权。我不记得自己的root密码,因此无法确认此密码是否有效。
Set-PSReadlineOption -BellStyle None