Bagikan melalui


Switch-Process

Di Linux dan macOS, cmdlet memanggil fungsi execv() untuk memberikan perilaku serupa sebagai shell POSIX.

Sintaks

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.

Jenis:String[]
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

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.