Switch-Process
No Linux e macOS, o cmdlet chama a execv()
função para fornecer comportamento semelhante aos shells POSIX.
Syntax
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Description
Alguns comandos Unix nativos usam shell externo para executar algo (como SSH) e o bash
comando interno exec
para gerar um novo processo que substitua o atual. Por padrão, exec
não é um comando válido no PowerShell. Isso está afetando alguns scripts conhecidos, como copy-ssh-id
, e alguns subcomandos de AzCLI.
O Switch-Process
cmdlet chama a função nativa execv()
para fornecer comportamento semelhante aos shells POSIX. Esse cmdlet e seu alias, exec
, foram adicionados ao PowerShell 7.3.0.
O PowerShell 7.3.1 alterou o alias exec
para uma função que encapsula Switch-Process
. A função permite que você passe parâmetros a um comando nativo que possa ter uma associação incorreta ao parâmetro WithCommand.
Esse cmdlet só está disponível para sistemas não Windows.
Exemplos
Exemplo 1 - Executar um comando que depende de 'exec'
Este exemplo pressupõe que o PowerShell é o shell padrão em um sistema que não seja Windows. ssh-copy-id
é um script bash popular para implantar chaves públicas em máquinas de destino para autenticação baseada em chave. O script depende do comando bash, exec
.
ssh-copy-id user@host
Com o PSExec
recurso habilitado, o ssh-copy-id
script é bem-sucedido.
Parâmetros
-WithCommand
Especifica o executável nativo (e quaisquer parâmetros) a serem executados. Todos os valores adicionais passados como argumentos são passados como uma matriz de cadeias de caracteres a serem executadas com o primeiro comando.
O comando de destino deve ser um executável nativo, não um comando do PowerShell.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
String[]
Saídas
Observações
O Switch-Process
cmdlet foi criado para fornecer exec
compatibilidade com outros shells POSIX. Em condições normais, o cmdlet não se destina a ser usado em scripts do PowerShell. Switch-Process
não tem paridade de recursos com a função interna em exec
shells POSIX, como como os descritores de arquivo são manipulados, mas deve cobrir a maioria dos casos.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de