백 스페이스에서 PowerShell 경고음을 사용하지 않도록 설정


82

이 기능은 PowerShell 버전 5.1에서 추가 된 것 같습니다. 여전히 5.0을 실행하는 랩톱에서는 찾을 수 없습니다.

BackspacePowerShell에서을 (를) 누를 때 삭제할 텍스트가 더 없으면 '삐'소리가납니다. 건반을 놓은 후에도 소리가 짧게 유지되므로 실수로 키를 너무 길게 누르면 상당히 성가신 일입니다.

작동하는 Beep 서비스를 사용하지 않도록 제안하는 이 수퍼 유저 질문을 찾았 지만 여전히 스크립트에서 경고음을 사용할 수 있기를 원합니다.

경고음을 완전히 비활성화하지 않고 "백 스페이스에서 경고음"사운드를 비활성화하려면 어떻게합니까?


7
Set-PSReadlineOption -BellStyle None
— PetSerAl

1
@PetSerAl 작동하지만 새 PowerShell 창을 열 때마다 설정해야합니다. 세팅 스틱을 만드는 방법이 있습니까?
— FastEthernet


2
@FastEthernet 당신에 추가 PowerShell 프로필 파일
— DavidPostill

1
@PetSerAl 답변을 게시하십시오.
— FastEthernet

답변:


112

경고음은 PSReadlineWindows 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 옵션을 시작 스크립트에 추가합니다.


5
@Odys 아니오-Bash / ZSH 또는 Unix 쉘에서도 동일한 방식으로 수행해야합니다.
— Tamoghna Chowdhury

21

@PetSerAl 의 답변 을 확장하는보다 영구적 인 솔루션 :

  1. 관리자 권한으로 PowerShell을 실행하십시오.
  2. 실행 : set-executionpolicy remotesigned. 그러면 컴퓨터에서 PowerShell 스크립트를 실행할 수 있습니다. 그것이 무엇인지 확실하지 않으면 계속하지 마십시오.
  3. C:\Windows\System32\WindowsPowerShell\v1.0Windows 10 을 사용중인 경우 이동하십시오 .
  4. 라는 파일을 만듭니다 Microsoft.PowerShell_profile.ps1.
  5. 해당 파일을 편집하고을 추가하십시오 Set-PSReadlineOption -BellStyle None.
  6. 새 PowerShell 콘솔을 열면 더 이상 경고음이 들리지 않습니다.

컴퓨터의 모든 사용자를위한 모든 (새로운) PowerShell 콘솔이 이제 자동으로 작동합니다.

이 답변은 Windows 10 용입니다. 다른 버전의 Windows의 경우 폴더가 다를 수 있습니다.


Set-ExecutionPolicy높은 권한이 필요할 수 있으므로 자신의 사용자에 대해서만이 설정을 변경하려는 경우 -Scope CurrentUser인수 와 함께 사용할 수 있습니다 .
— mehmetseckin 2012


1

Linux 용 Windows 서브 시스템에서 Bash 쉘을 사용하여 @Odys의 응답을 수정했습니다 (활성화 한 것으로 가정).

1 관리자 권한으로 명령 프롬프트를 열고 실행

set-executionpolicy remotesigned

2 bashbash 쉘을 시작하려면 입력 하십시오.

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

주어진 경로에 파일을 추가 할 수 없습니다. 폴더에 대한 액세스 권한에 쓰기가 포함되어 있지 않으므로 놀랍지 않습니다. 액세스 권한을 수정하려고했지만 운이 없습니다. 이런 문제에 직면 했습니까?
— lulijeta

sudo chmod 644 ./Microsoft.Powershell_profile.ps1자신에게 특권을 주려고 노력 하십시오. 루트 암호가 기억 나지 않으므로이 작동을 확인할 수 없습니다.
— Evan Rosica

감사하지만 chmod는 파일이 존재하는 경우에만 파일 액세스 권한을 변경하려고 시도 할 수 있습니다. 내 문제는 v1.0 폴더 아래에서 Microsoft.Powershell_profile.ps1을 만들 수 없다는 것입니다. v1.0 (폴더)에는 쓸 수있는 액세스 권한이 없으므로 해당 폴더 아래에 파일을 만들 수 없습니다. v1.0의 액세스 권한을 변경하려고 시도했지만 chmod에 서브 시스템에 문제가있는 것 같습니다. v1.0에서 파일을 어떻게 만들었습니까?
— lulijeta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.