Bagikan melalui


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

Object

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.