Switch-Process
V Linuxu a macOS rutina volá execv()
funkci, aby poskytovala podobné chování jako prostředí POSIX.
Syntaxe
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Description
Některé nativní prostředí příkazů unixu, které spustí něco (třeba ssh), a pomocí integrovaného bash
příkazu exec
vytvoří nový proces, který nahradí aktuální příkaz. Ve výchozím nastavení exec
není platný příkaz v PowerShellu. To ovlivňuje některé známé skripty jako copy-ssh-id
a některé dílčí příkazy AzCLI.
Rutina Switch-Process
volá nativní execv()
funkci, která poskytuje podobné chování jako prostředí POSIX. Tato rutina a její alias exec
byly přidány v PowerShellu 7.3.0.
PowerShell 7.3.1 změnil exec
alias na funkci, která zabalí Switch-Process
. Funkce umožňuje předat parametry nativnímu příkazu, který by mohl být chybně vázán na Parametr WithCommand .
Tato rutina je dostupná jenom pro systémy mimo Windows.
Příklady
Příklad 1 – Provedení příkazu, který závisí na příkazu exec
V tomto příkladu se předpokládá, že PowerShell je výchozím prostředím v systému bez Windows. ssh-copy-id
je oblíbený skript Bash pro nasazení veřejných klíčů na cílových počítačích pro ověřování na základě klíčů. Skript závisí na příkazu Bash, exec
.
ssh-copy-id user@host
Když je PSExec
tato funkce povolená, ssh-copy-id
skript bude úspěšný.
Parametry
-WithCommand
Určuje nativní spustitelný soubor (a všechny parametry), který se má spustit. Všechny další hodnoty předané jako argumenty se předávají jako pole řetězců, které se mají spustit prvním příkazem.
Cílový příkaz musí být nativní spustitelný soubor, nikoli příkaz PowerShellu.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
String[]
Výstupy
Poznámky
Rutina Switch-Process
byla vytvořena, aby poskytovala exec
kompatibilitu, je další prostředí POSIX. Za normálních podmínek není rutina určená k použití ve skriptech PowerShellu. Switch-Process
nemá paritu funkcí s integrovanou exec
funkcí v prostředích POSIX, jako je například způsob zpracování popisovačů souborů, ale měl by zahrnovat většinu případů.