Switch-Process
Linux 및 macOS에서 cmdlet은 execv() 함수를 호출하여 POSIX 셸과 유사한 동작을 제공합니다.
구문
Default (기본값)
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Description
일부 네이티브 Unix 명령은 ssh와 같은 항목을 실행하고 bash 기본 제공 명령 exec 사용하여 현재 프로세스를 대체하는 새 프로세스를 생성합니다. 기본적으로 exec PowerShell에서 유효한 명령이 아닙니다. 이는 copy-ssh-id 같은 일부 알려진 스크립트 및 AzCLI의 일부 하위 명령에 영향을 줍니다.
Switch-Process cmdlet은 네이티브 execv() 함수를 호출하여 POSIX 셸과 유사한 동작을 제공합니다. 이 cmdlet 및 해당 별칭인 execPowerShell 7.3.0에 추가되었습니다.
PowerShell 7.3.1은 exec 별칭을 Switch-Process를 래핑하는 함수로 변경했습니다. 이 함수를 사용하면 WithCommand 매개 변수에 잘못 바인딩되었을 수 있는 네이티브 명령에 매개 변수를 전달할 수 있습니다.
이 cmdlet은 비 Windows 시스템에서만 사용할 수 있습니다.
예제
예제 1 - 'exec'에 의존하는 명령 실행
이 예제에서는 PowerShell이 Windows가 아닌 시스템의 기본 셸이라고 가정합니다.
ssh-copy-id 키 기반 인증을 위해 대상 컴퓨터에 공개 키를 배포하는 인기 있는 bash 스크립트입니다. 스크립트는 bash 명령 exec따라 달라집니다.
ssh-copy-id user@host
PSExec 기능을 사용하도록 설정하면 ssh-copy-id 스크립트가 성공합니다.
매개 변수
-WithCommand
실행할 네이티브 실행 파일(및 매개 변수)을 지정합니다. 인수로 전달된 모든 추가 값은 첫 번째 명령으로 실행할 문자열 배열로 전달됩니다.
대상 명령은 PowerShell 명령이 아닌 네이티브 실행 파일이어야 합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | 0 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
String
출력
Object
참고
Switch-Process cmdlet은 다른 POSIX 셸과 exec 호환성을 제공하기 위해 만들어졌습니다. 정상적인 조건에서 cmdlet은 PowerShell 스크립트에서 사용할 수 없습니다.
Switch-Process 파일 설명자가 처리되는 방식과 같이 POSIX 셸의 기본 제공 exec 함수와 기능 패리티가 없지만 대부분의 경우를 다루어야 합니다.