백 스페이스에서 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.