Esta característica parece haber sido agregada en PowerShell versión 5.1, ya que no la encuentro en mi computadora portátil que aún ejecuta 5.0.
Al presionar Backspaceen PowerShell, emitirá un pitido si no hay (más) texto para eliminar. Esto es bastante molesto si accidentalmente mantienes presionada la tecla durante demasiado tiempo, ya que el sonido continuará por un corto tiempo después de soltarlo.
Encontré esta pregunta de Superusuario que sugiere deshabilitar el servicio Beep, que funciona, pero aún me gustaría poder usar pitidos en los scripts.
¿Cómo desactivo el sonido de "pitido en el espacio de retroceso" sin desactivar los pitidos por completo?
powershell
FastEthernet
fuente
fuente
Set-PSReadlineOption -BellStyle None
Get-Help about_Profiles
Respuestas:
El
PSReadline
módulo, que se entrega con Windows 10. proporciona el pitido. Debe cambiar laPSReadline
opción para desactivar el timbre:Si desea este cambio para todas las futuras sesiones de PowerShell, debe agregar este comando a su perfil de PowerShell . Por ejemplo, para configurar la opción para "Usuario actual, Host actual" (
$Profile
):La primera línea permite que su perfil ejecute un script de inicio cuando se abre PowerShell ( Acerca de las políticas de ejecución ). La segunda línea prueba para ver si ya tiene un script de inicio definido para "Usuario actual, Host actual". La tercera línea agrega la opción de campana a su secuencia de comandos de inicio.
fuente
Una solución más permanente que extiende la respuesta de @PetSerAl :
set-executionpolicy remotesigned
. Esto permitirá que los scripts de PowerShell se ejecuten en su computadora. Si no está seguro de qué es eso, no continúe.C:\Windows\System32\WindowsPowerShell\v1.0
si estás en Windows 10.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Todas las consolas PowerShell (nuevas) para todos los usuarios de su computadora ahora están en silencio.
Esta respuesta es para Windows 10. Para otras versiones de Windows, la carpeta puede diferir.
fuente
Set-ExecutionPolicy
puede requerir permisos elevados, por lo que si desea cambiar esta configuración solo para su propio usuario, puede usarla con-Scope CurrentUser
argumentos.Archivé este artículo de Github contra PsReadLine, ya que no estoy seguro de que este cambio fuera intencional - https://github.com/lzybkr/PSReadLine/issues/422
fuente
Una adaptación de la respuesta de @Odys usando el shell Bash en el Subsistema de Windows para Linux (suponiendo que lo tenga habilitado).
1 Abra un símbolo del sistema como administrador y ejecute
2 Escriba
bash
para iniciar el shell bash3 Cambie al directorio apropiado
4 Cree un archivo llamado "Microsoft.Powershell_profile.ps1" y escriba "Set-PSReadlineOption -BellStyle None" en él
fuente
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
darte privilegios. No recuerdo mi contraseña de root, así que no puedo confirmar que esto funcione.