Wygląda na to, że ta funkcja została dodana w wersji 5.1 programu PowerShell, ponieważ nie znajduję jej na moim laptopie z systemem 5.0.
Po naciśnięciu Backspacew programie PowerShell wyemituje sygnał dźwiękowy, jeśli nie ma (więcej) tekstu do usunięcia. Jest to dość irytujące, jeśli przypadkowo przytrzymasz klawisz zbyt długo, ponieważ dźwięk zwolni się przez chwilę po zwolnieniu.
Znalazłem to pytanie superużytkownika, które sugeruje wyłączenie usługi Beep, która działa, ale chciałbym nadal móc używać dźwięków w skryptach.
Jak wyłączyć dźwięk „beep on backspace” bez całkowitego wyłączenia sygnałów?
powershell
FastEthernet
źródło
źródło
Set-PSReadlineOption -BellStyle None
Get-Help about_Profiles
Odpowiedzi:
Sygnał dźwiękowy jest dostarczany przez
PSReadline
moduł dostarczany z systemem Windows 10. Musisz zmienićPSReadline
opcję, aby wyłączyć dzwonek:Jeśli chcesz tę zmianę dla wszystkich przyszłych sesji PowerShell, musisz dodać to polecenie do swojego profilu PowerShell . Na przykład, aby ustawić opcję „Bieżący użytkownik, bieżący host” (
$Profile
):Pierwszy wiersz umożliwia Twojemu profilowi uruchomienie skryptu startowego po otwarciu programu PowerShell (informacje o zasadach wykonywania ). Druga linia sprawdza, czy masz już skrypt uruchamiania zdefiniowany dla „Bieżący użytkownik, bieżący host”. Trzecia linia dodaje opcję dzwonka do skryptu uruchamiania.
źródło
Bardziej trwałe rozwiązanie, które rozszerza odpowiedź @PetSerAl :
set-executionpolicy remotesigned
. Umożliwi to uruchamianie skryptów PowerShell na twoim komputerze. Jeśli nie masz pewności, co to jest, nie kontynuuj.C:\Windows\System32\WindowsPowerShell\v1.0
jeśli korzystasz z systemu Windows 10.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Wszystkie (nowe) konsole PowerShell dla wszystkich użytkowników komputera są teraz ciche.
Ta odpowiedź dotyczy systemu Windows 10. W przypadku innych wersji systemu Windows folder może się różnić.
źródło
Set-ExecutionPolicy
może wymagać podwyższonych uprawnień, więc jeśli chcesz zmienić to ustawienie tylko dla własnego użytkownika, możesz użyć go z-Scope CurrentUser
argumentem.Złożyłem ten element Github przeciwko PsReadLine, ponieważ nie jestem pewien, czy zmiana była zamierzona - https://github.com/lzybkr/PSReadLine/issues/422
źródło
Dostosowanie odpowiedzi @Odys przy użyciu powłoki Bash w podsystemie Windows dla systemu Linux (zakładając, że masz ją włączoną).
1 Otwórz wiersz polecenia jako administrator i uruchom
2 Wpisz,
bash
aby uruchomić powłokę bash3 Przejdź do odpowiedniego katalogu
4 Utwórz plik o nazwie „Microsoft.Powershell_profile.ps1” i napisz do niego „Set-PSReadlineOption -BellStyle None”
źródło
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
dać sobie przywileje. Nie pamiętam hasła roota, więc nie mogę potwierdzić, że to działa.