Switch-Process
Di Linux dan macOS, cmdlet memanggil execv()
fungsi untuk memberikan perilaku serupa seperti shell POSIX.
Sintaks
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Deskripsi
Beberapa perintah Unix asli shell out untuk menjalankan sesuatu (seperti ssh) dan menggunakan bash
perintah exec
bawaan untuk menelurkan proses baru yang menggantikan yang saat ini. Secara default, exec
bukan perintah yang valid di PowerShell. Ini memengaruhi beberapa skrip yang diketahui seperti copy-ssh-id
dan beberapa sub-perintah AzCLI.
Switch-Process
Cmdlet memanggil fungsi asli execv()
untuk memberikan perilaku serupa sebagai shell POSIX. Cmdlet ini dan aliasnya, exec
, ditambahkan di PowerShell 7.3.0.
PowerShell 7.3.1 mengubah exec
alias menjadi fungsi yang membungkus Switch-Process
. Fungsi ini memungkinkan Anda meneruskan parameter ke perintah asli yang mungkin secara keliru terikat ke parameter WithCommand .
Cmdlet ini hanya tersedia untuk sistem non-Windows.
Contoh
Contoh 1 - Jalankan perintah yang bergantung pada 'exec'
Contoh ini mengasumsikan bahwa PowerShell adalah shell default pada sistem non-Windows. ssh-copy-id
adalah skrip bash populer untuk menyebarkan kunci publik pada komputer target untuk autentikasi berbasis kunci. Skrip tergantung pada perintah bash, exec
.
ssh-copy-id user@host
PSExec
Dengan fitur diaktifkan, ssh-copy-id
skrip berhasil.
Parameter
-WithCommand
Menentukan executable asli (dan parameter apa pun) yang akan dijalankan. Semua nilai tambahan yang diteruskan sebagai argumen diteruskan sebagai array string yang akan dijalankan dengan perintah pertama.
Perintah target harus berupa executable asli, bukan perintah PowerShell.
Jenis: | String[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
String[]
Output
Catatan
Switch-Process
Cmdlet dibuat untuk memberikan exec
kompatibilitas adalah shell POSIX lainnya. Dalam kondisi normal, cmdlet tidak dimaksudkan untuk digunakan dalam skrip PowerShell. Switch-Process
tidak memiliki paritas fitur dengan fungsi bawaan dalam shell POSIX, seperti bagaimana deskriptor file ditangani exec
, tetapi harus mencakup sebagian besar kasus.