Fitur ini tampaknya telah ditambahkan di PowerShell versi 5.1, karena saya tidak menemukannya di laptop saya yang masih menjalankan 5.0.
Saat menekan Backspacedi PowerShell, itu akan mengeluarkan suara 'bip' jika tidak ada (lebih) teks untuk dihapus. Ini cukup menjengkelkan jika Anda secara tidak sengaja menahan tombol terlalu lama, karena suaranya akan berlangsung sebentar setelah Anda melepaskannya.
Saya menemukan pertanyaan Pengguna Super ini yang menyarankan untuk menonaktifkan layanan Bip, yang tidak berfungsi, tetapi saya ingin tetap dapat menggunakan bip di skrip.
Bagaimana cara menonaktifkan suara "bip pada backspace" tanpa menonaktifkan bip sepenuhnya?
powershell
FastEthernet
sumber
sumber
Set-PSReadlineOption -BellStyle None
Get-Help about_Profiles
Jawaban:
Bunyi bip disediakan oleh
PSReadline
modul, yang dikirimkan bersama Windows 10. Anda harus mengubahPSReadline
opsi untuk menonaktifkan bel:Jika Anda ingin perubahan ini untuk semua sesi PowerShell di masa mendatang, maka Anda perlu menambahkan perintah ini ke profil PowerShell Anda . Misalnya, untuk menetapkan opsi untuk "Pengguna Saat Ini, Host Saat Ini" (
$Profile
):Baris pertama memungkinkan profil Anda menjalankan skrip startup ketika PowerShell terbuka ( Tentang Kebijakan Eksekusi ). Baris kedua menguji apakah Anda sudah memiliki skrip startup yang ditetapkan untuk "Pengguna Saat Ini, Tuan Rumah Saat Ini". Baris ketiga menambahkan opsi bel ke skrip startup Anda.
sumber
Solusi yang lebih permanen yang memperluas jawaban @PetSerAl :
set-executionpolicy remotesigned
. Ini akan memungkinkan skrip PowerShell dijalankan di komputer Anda. Jika Anda tidak yakin tentang apa yang tidak dilanjutkan.C:\Windows\System32\WindowsPowerShell\v1.0
jika Anda menggunakan Windows 10.Microsoft.PowerShell_profile.ps1
.Set-PSReadlineOption -BellStyle None
.Semua konsol PowerShell (baru) untuk semua pengguna di komputer Anda sekarang diam.
Jawaban ini untuk Windows 10. Untuk versi Windows lainnya, folder mungkin berbeda.
sumber
Set-ExecutionPolicy
mungkin memerlukan izin tinggi, jadi jika Anda ingin mengubah pengaturan ini hanya untuk pengguna Anda sendiri, Anda dapat menggunakannya dengan-Scope CurrentUser
argumen.Saya mengajukan item Github ini ke PsReadLine, karena saya tidak yakin perubahan ini disengaja - https://github.com/lzybkr/PSReadLine/issues/422
sumber
Adaptasi jawaban @Odys menggunakan Bash shell pada Windows Subsystem untuk Linux (dengan asumsi Anda telah mengaktifkannya).
1 Buka prompt perintah sebagai administrator, dan jalankan
2 Ketikkan
bash
untuk memulai shell bash3 Ubah ke direktori yang tepat
4 Buat file dengan nama "Microsoft.Powershell_profile.ps1" dan tulis "Set-PSReadlineOption -BellStyle None" di dalamnya
sumber
sudo chmod 644 ./Microsoft.Powershell_profile.ps1
untuk memberikan diri Anda hak istimewa. Saya tidak ingat kata sandi root saya, jadi saya tidak bisa memastikan ini berfungsi.