Switch-Process
Di Linux dan macOS, cmdlet memanggil fungsi execv() untuk memberikan perilaku serupa sebagai shell POSIX.
Sintaks
Default (Default)
Switch-Process
[[-WithCommand] <String[]>]
[<CommonParameters>]
Deskripsi
Beberapa perintah Unix asli shell out untuk menjalankan sesuatu (seperti ssh) dan menggunakan perintah bawaan bashexec 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.
Cmdlet Switch-Process memanggil fungsi execv() asli untuk memberikan perilaku serupa sebagai shell POSIX. Cmdlet ini dan aliasnya, exec, ditambahkan di PowerShell 7.3.0.
PowerShell 7.3.1 mengubah alias exec 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
Dengan fitur PSExec diaktifkan, skrip ssh-copy-id 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.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Output
Object
Catatan
Cmdlet Switch-Process dibuat untuk menyediakan kompatibilitas exec adalah shell POSIX lainnya. Dalam kondisi normal, cmdlet tidak dimaksudkan untuk digunakan dalam skrip PowerShell.
Switch-Process tidak memiliki paritas fitur dengan fungsi exec bawaan dalam shell POSIX, seperti bagaimana deskriptor file ditangani, tetapi harus mencakup sebagian besar kasus.